From 5079dd85cb2a9e8065f9b6b1ad4205907c89892b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20W=C3=B3dkiewicz?= Date: Mon, 16 Oct 2023 11:03:47 +0200 Subject: [PATCH] test: add WorkspaceRoot.createTestItem tests for item's URI --- tests/test-provider/test-item-data.test.ts | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/tests/test-provider/test-item-data.test.ts b/tests/test-provider/test-item-data.test.ts index 991bc737..0748a3c4 100644 --- a/tests/test-provider/test-item-data.test.ts +++ b/tests/test-provider/test-item-data.test.ts @@ -2,6 +2,7 @@ jest.unmock('../../src/test-provider/test-item-data'); jest.unmock('../../src/test-provider/test-provider-helper'); jest.unmock('../../src/appGlobals'); jest.unmock('../../src/TestResults/match-node'); +jest.unmock('../../src/virtual-workspace-folder'); jest.unmock('../../src/TestResults/match-by-context'); jest.unmock('../test-helper'); jest.unmock('./test-helper'); @@ -48,6 +49,7 @@ import { mockController, mockExtExplorerContext } from './test-helper'; import * as errors from '../../src/errors'; import { ItemCommand } from '../../src/test-provider/types'; import { RunMode } from '../../src/JestExt/run-mode'; +import { VirtualWorkspaceFolder } from '../../src/virtual-workspace-folder'; const mockPathSep = (newSep: string) => { (path as jest.Mocked).setSep(newSep); @@ -1459,6 +1461,43 @@ describe('test-item-data', () => { }); }); }); + describe('createTestItem', () => { + describe('for a regular workspace folder', () => { + let workspaceFolder: vscode.WorkspaceFolder; + let wsRoot: WorkspaceRoot; + + beforeEach(() => { + workspaceFolder = helper.makeWorkspaceFolder('workspace-1'); + wsRoot = createAllTestItems().wsRoot; + wsRoot.context.ext.workspace = workspaceFolder; + }); + + it("creates an item using folder's uri", () => { + const item = wsRoot.createTestItem(); + expect(item.uri).toEqual(workspaceFolder.uri); + }); + }); + + describe('for a virtual workspace folder', () => { + let virtualWorkspaceFolder: VirtualWorkspaceFolder; + let wsRoot: WorkspaceRoot; + + beforeEach(() => { + virtualWorkspaceFolder = new VirtualWorkspaceFolder( + helper.makeWorkspaceFolder('workspace-1'), + 'virtual-a', + 'packages/a' + ); + wsRoot = createAllTestItems().wsRoot; + wsRoot.context.ext.workspace = virtualWorkspaceFolder; + }); + + it("creates an item using virtual folder's effectiveUri", () => { + const item = wsRoot.createTestItem(); + expect(item.uri).toEqual(virtualWorkspaceFolder.effectiveUri); + }); + }); + }); }); describe('simulate complete run flow', () => {