Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chore: remove sinon #6154

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 0 additions & 138 deletions vscode/microsoft-kiota/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions vscode/microsoft-kiota/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -521,15 +521,13 @@
"@types/follow-redirects": "^1.14.4",
"@types/jest": "^29.5.14",
"@types/node": "22.x",
"@types/sinon": "^17.0.3",
"@types/vscode": "^1.97.0",
"@typescript-eslint/eslint-plugin": "^8.24.0",
"@typescript-eslint/parser": "^8.24.0",
"@vscode/test-cli": "^0.0.10",
"@vscode/test-electron": "^2.4.1",
"eslint": "^9.20.1",
"glob": "^11.0.1",
"sinon": "^19.0.2",
"ts-jest": "^29.2.5",
"ts-loader": "^9.5.2",
"typemoq": "^2.1.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import * as sinon from "sinon";
import * as vscode from 'vscode';

import { DeleteWorkspaceItemCommand } from '../../../commands/deleteWorkspaceItem/deleteWorkspaceItemCommand';
Expand All @@ -14,15 +13,15 @@ describe('DeleteWorkspaceItemCommand Tests', () => {

beforeAll(() => {
context = { extension: { packageJSON: { telemetryInstrumentationKey: 'test-key' } } } as any;
outputChannel = { appendLine: sinon.stub() } as any;
var treeProvider = sinon.createStubInstance(treeModule.OpenApiTreeProvider);
var stubbedSharedService = sinon.createStubInstance(sharedServiceModule.SharedService);
command = new DeleteWorkspaceItemCommand(context, treeProvider, outputChannel, stubbedSharedService,);
outputChannel = { appendLine: jest.fn() } as any;
const treeProvider = jest.fn(() => ({} as treeModule.OpenApiTreeProvider));
const stubbedSharedService = jest.fn(() => ({} as sharedServiceModule.SharedService));
command = new DeleteWorkspaceItemCommand(context, treeProvider(), outputChannel, stubbedSharedService());
workspaceTreeItem = { label: 'test-item', category: 'plugin' } as any;
});

afterEach(() => {
sinon.restore();
jest.clearAllMocks();
});

test('getName should return correct command name', () => {
Expand All @@ -32,15 +31,15 @@ describe('DeleteWorkspaceItemCommand Tests', () => {
test('execute should show success message and refresh workspace on success', async () => {
const yesAnswer: vscode.MessageItem = { title: vscode.l10n.t("Yes") };

const showWarningMessageStub = sinon.stub(vscode.window, 'showWarningMessage').resolves(yesAnswer);
const showInformationMessageStub = sinon.stub(vscode.window, 'showInformationMessage').resolves();
const deleteItemStub = sinon.stub(command as any, 'deleteItem').resolves({ isSuccess: true, logs: [{ message: 'removed successfully' }] });
const showWarningMessageStub = jest.spyOn(vscode.window, 'showWarningMessage').mockResolvedValue(yesAnswer);
const showInformationMessageStub = jest.spyOn(vscode.window, 'showInformationMessage').mockResolvedValue(undefined);
const deleteItemStub = jest.spyOn(command as any, 'deleteItem').mockResolvedValue({ isSuccess: true, logs: [{ message: 'removed successfully' }] });

await command.execute(workspaceTreeItem);

expect(showWarningMessageStub.calledOnce).toEqual(true);
expect(showInformationMessageStub.calledOnce).toEqual(true);
expect(deleteItemStub.calledOnce).toEqual(true);
expect(showWarningMessageStub).toHaveBeenCalledTimes(1);
expect(showInformationMessageStub).toHaveBeenCalledTimes(1);
expect(deleteItemStub).toHaveBeenCalledTimes(1);
});

});
Original file line number Diff line number Diff line change
@@ -1,32 +1,27 @@
// You can import and use all API from the 'vscode' module
// as well as import your extension to test it
import * as sinon from "sinon";
import * as vscode from 'vscode';
import * as filterModule from "../../../commands/openApiTreeView/filterDescriptionCommand";
import * as filterStepsModule from "../../../modules/steps/filterSteps";
import * as treeModule from "../../../providers/openApiTreeProvider";


describe('FilterDescriptionCommand Test Suite', () => {
void vscode.window.showInformationMessage('Start FilterDescriptionCommand tests.');
const sanbox = sinon.createSandbox();
void vscode.window.showInformationMessage('Start FilterDescriptionCommand tests.');

afterEach(async () => {
sanbox.restore();
jest.clearAllMocks();
});

test('test function getName of filterDescriptionCommand', () => {
var treeProvider = sinon.createStubInstance(treeModule.OpenApiTreeProvider);
const treeProvider = jest.createMockFromModule<treeModule.OpenApiTreeProvider>("../../../providers/openApiTreeProvider");
const filterDescriptionCommand = new filterModule.FilterDescriptionCommand(treeProvider);
expect("kiota.openApiExplorer.filterDescription").toEqual(filterDescriptionCommand.getName());
});

test('test function execute of filterDescriptionCommand', async () => {
const filterStepsStub = sanbox.stub(filterStepsModule, 'filterSteps');
var treeProvider = sinon.createStubInstance(treeModule.OpenApiTreeProvider);
const filterStepsStub = jest.spyOn(filterStepsModule, 'filterSteps').mockResolvedValue({});
const treeProvider = jest.createMockFromModule<treeModule.OpenApiTreeProvider>("../../../providers/openApiTreeProvider");
const filterDescriptionCommand = new filterModule.FilterDescriptionCommand(treeProvider);
await filterDescriptionCommand.execute();
sinon.assert.calledOnce(filterStepsStub);
sinon.assert.calledWith(filterStepsStub, treeProvider.filter, sinon.match.func);
expect(filterStepsStub).toHaveBeenCalledTimes(1);
expect(filterStepsStub).toHaveBeenCalledWith(treeProvider.filter, expect.any(Function));
});
});
});
Loading
Loading