From 32cc731442a4084fef4e6730a6a693b4168d5387 Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Sun, 1 Dec 2024 20:13:26 +0000 Subject: [PATCH] WIP: Start updating effects command tests --- .../__snapshots__/effects.test.ts.snap | 40 +++++++++++++++++++ tests/commands/effects.test.ts | 36 ++++++++++++++++- 2 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 tests/commands/__snapshots__/effects.test.ts.snap diff --git a/tests/commands/__snapshots__/effects.test.ts.snap b/tests/commands/__snapshots__/effects.test.ts.snap new file mode 100644 index 0000000..ede2091 --- /dev/null +++ b/tests/commands/__snapshots__/effects.test.ts.snap @@ -0,0 +1,40 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`constructor EXPECT CommandBuilder to be defined 1`] = ` +{ + "contexts": undefined, + "default_member_permissions": undefined, + "default_permission": undefined, + "description": "Effects", + "description_localizations": undefined, + "dm_permission": undefined, + "integration_types": undefined, + "name": "effects", + "name_localizations": undefined, + "nsfw": undefined, + "options": [ + { + "description": "List all effects I have", + "description_localizations": undefined, + "name": "list", + "name_localizations": undefined, + "options": [ + { + "autocomplete": undefined, + "choices": undefined, + "description": "The page number", + "description_localizations": undefined, + "max_value": undefined, + "min_value": 1, + "name": "page", + "name_localizations": undefined, + "required": false, + "type": 10, + }, + ], + "type": 1, + }, + ], + "type": 1, +} +`; diff --git a/tests/commands/effects.test.ts b/tests/commands/effects.test.ts index f2c14ce..0ab6eab 100644 --- a/tests/commands/effects.test.ts +++ b/tests/commands/effects.test.ts @@ -1,10 +1,42 @@ +import Effects from "../../src/commands/effects"; + describe("constructor", () => { - test.todo("EXPECT CommandBuilder to be defined"); + let effects: Effects; + + beforeEach(() => { + effects = new Effects(); + }); + + test("EXPECT CommandBuilder to be defined", () => { + expect(effects.CommandBuilder).toMatchSnapshot(); + }); }); describe("execute", () => { describe("GIVEN interaction is not a chat input command", () => { - test.todo("EXPECT nothing to happen"); + let interaction: any; + + let listSpy: any; + + beforeEach(async () => { + interaction = { + isChatInputCommand: jest.fn().mockReturnValue(false), + }; + + const effects = new Effects(); + + listSpy = jest.spyOn(effects as any, "List"); + + await effects.execute(interaction); + }); + + test("EXPECT isChatInputCommand to have been called", () => { + expect(interaction.isChatInputCommand).toHaveBeenCalledTimes(1); + }); + + test("EXPECT nothing to happen", () => { + expect(listSpy).not.toHaveBeenCalled(); + }); }); describe("GIVEN subcommand is list", () => {