mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-11 22:51:26 +00:00
more unit test work
This commit is contained in:
parent
4c88e930e9
commit
c92be6aadb
2 changed files with 10 additions and 36 deletions
|
|
@ -37,9 +37,15 @@ describe("PackageManagerViewStateManager", () => {
|
|||
|
||||
beforeEach(() => {
|
||||
jest.clearAllMocks()
|
||||
jest.useFakeTimers()
|
||||
manager = new PackageManagerViewStateManager()
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
jest.clearAllTimers()
|
||||
jest.useRealTimers()
|
||||
})
|
||||
|
||||
describe("Initial State", () => {
|
||||
it("should initialize with default state", () => {
|
||||
const state = manager.getState()
|
||||
|
|
@ -110,14 +116,6 @@ describe("PackageManagerViewStateManager", () => {
|
|||
})
|
||||
|
||||
describe("Race Conditions", () => {
|
||||
beforeEach(() => {
|
||||
jest.useFakeTimers()
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
jest.useRealTimers()
|
||||
})
|
||||
|
||||
it("should handle rapid tab switching during initial load", async () => {
|
||||
// Start initial load
|
||||
await manager.transition({ type: "FETCH_ITEMS" })
|
||||
|
|
@ -268,14 +266,6 @@ describe("PackageManagerViewStateManager", () => {
|
|||
})
|
||||
|
||||
describe("Error Handling", () => {
|
||||
beforeEach(() => {
|
||||
jest.useFakeTimers()
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
jest.useRealTimers()
|
||||
})
|
||||
|
||||
it("should handle fetch timeout", async () => {
|
||||
await manager.transition({ type: "FETCH_ITEMS" })
|
||||
|
||||
|
|
@ -312,14 +302,6 @@ describe("PackageManagerViewStateManager", () => {
|
|||
})
|
||||
|
||||
describe("Filter Behavior", () => {
|
||||
beforeEach(() => {
|
||||
jest.useFakeTimers()
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
jest.useRealTimers()
|
||||
})
|
||||
|
||||
it("should debounce filter updates", async () => {
|
||||
// Reset mock before test
|
||||
;(vscode.postMessage as jest.Mock).mockClear()
|
||||
|
|
@ -468,14 +450,6 @@ describe("PackageManagerViewStateManager", () => {
|
|||
})
|
||||
|
||||
describe("Fetch Timeout Handling", () => {
|
||||
beforeEach(() => {
|
||||
jest.useFakeTimers()
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
jest.useRealTimers()
|
||||
})
|
||||
|
||||
it("should handle fetch timeout", async () => {
|
||||
await manager.transition({ type: "FETCH_ITEMS" })
|
||||
|
||||
|
|
@ -591,8 +565,8 @@ describe("PackageManagerViewStateManager", () => {
|
|||
const state = manager.getState()
|
||||
expect(state.filters).toEqual(filters)
|
||||
|
||||
// Wait for debounce
|
||||
await new Promise((resolve) => setTimeout(resolve, 300))
|
||||
// Fast-forward past debounce time
|
||||
jest.advanceTimersByTime(300)
|
||||
|
||||
expect(vscode.postMessage).toHaveBeenCalledWith({
|
||||
type: "filterPackageManagerItems",
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { vscode } from "@/utils/vscode"
|
|||
import { groupItemsByType, GroupedItems } from "../utils/grouping"
|
||||
import { ExpandableSection } from "./ExpandableSection"
|
||||
import { TypeGroup } from "./TypeGroup"
|
||||
import { ViewState } from "../state/PackageManagerViewStateManager"
|
||||
import { ViewState } from "../PackageManagerViewStateManager"
|
||||
|
||||
interface PackageManagerItemCardProps {
|
||||
item: PackageManagerItem
|
||||
|
|
@ -104,7 +104,7 @@ export const PackageManagerItemCard: React.FC<PackageManagerItemCardProps> = ({
|
|||
onClick={() => {
|
||||
if (filters.tags.includes(tag)) {
|
||||
setFilters({
|
||||
tags: filters.tags.filter((t) => t !== tag),
|
||||
tags: filters.tags.filter((t: string) => t !== tag),
|
||||
})
|
||||
} else {
|
||||
setFilters({
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue