Compare commits
2 commits
7944b3aeac
...
6e6b2a0af6
Author | SHA1 | Date | |
---|---|---|---|
6e6b2a0af6 | |||
2a7006229a |
4 changed files with 85 additions and 4 deletions
|
@ -60,7 +60,7 @@ export default class EffectHelper {
|
|||
const effects = query[0];
|
||||
const count = query[1];
|
||||
|
||||
const isLastPage = Math.ceil(count / itemsPerPage) - 1 == page;
|
||||
const totalPages = count > 0 ? Math.ceil(count / itemsPerPage) : 1;
|
||||
|
||||
let description = "*none*";
|
||||
|
||||
|
@ -71,7 +71,8 @@ export default class EffectHelper {
|
|||
const embed = new EmbedBuilder()
|
||||
.setTitle("Effects")
|
||||
.setDescription(description)
|
||||
.setColor(EmbedColours.Ok);
|
||||
.setColor(EmbedColours.Ok)
|
||||
.setFooter({ text: `Page ${page} of ${totalPages}` });
|
||||
|
||||
const row = new ActionRowBuilder<ButtonBuilder>()
|
||||
.addComponents(
|
||||
|
@ -79,12 +80,12 @@ export default class EffectHelper {
|
|||
.setCustomId(`effects list ${page - 1}`)
|
||||
.setLabel("Previous")
|
||||
.setStyle(ButtonStyle.Primary)
|
||||
.setDisabled(page == 0),
|
||||
.setDisabled(page - 1 == 0),
|
||||
new ButtonBuilder()
|
||||
.setCustomId(`effects list ${page + 1}`)
|
||||
.setLabel("Next")
|
||||
.setStyle(ButtonStyle.Primary)
|
||||
.setDisabled(isLastPage),
|
||||
.setDisabled(page == totalPages),
|
||||
);
|
||||
|
||||
return {
|
||||
|
|
25
tests/buttonEvents/Effects.test.ts
Normal file
25
tests/buttonEvents/Effects.test.ts
Normal file
|
@ -0,0 +1,25 @@
|
|||
describe("execute", () => {
|
||||
describe("GIVEN action in custom id is list", () => {
|
||||
test.todo("EXPECT list function to be called");
|
||||
});
|
||||
});
|
||||
|
||||
describe("List", () => {
|
||||
describe("GIVEN page is a valid number", () => {
|
||||
test.todo("EXPECT EffectHelper.GenerateEffectEmbed to be called");
|
||||
|
||||
test.todo("EXPECT interaction to be updated");
|
||||
});
|
||||
|
||||
describe("GIVEN page in custom id is not supplied", () => {
|
||||
test.todo("EXPECT interaction to be replied with error");
|
||||
|
||||
test.todo("EXPECT interaction to not be updated");
|
||||
});
|
||||
|
||||
describe("GIVEN page in custom id is not a number", () => {
|
||||
test.todo("EXPECT interaction to be replied with error");
|
||||
|
||||
test.todo("EXPECT interaction to not be updated");
|
||||
});
|
||||
});
|
31
tests/commands/effects.test.ts
Normal file
31
tests/commands/effects.test.ts
Normal file
|
@ -0,0 +1,31 @@
|
|||
describe("constructor", () => {
|
||||
test.todo("EXPECT CommandBuilder to be defined");
|
||||
});
|
||||
|
||||
describe("execute", () => {
|
||||
describe("GIVEN interaction is not a chat input command", () => {
|
||||
test.todo("EXPECT nothing to happen");
|
||||
});
|
||||
|
||||
describe("GIVEN subcommand is list", () => {
|
||||
test.todo("EXPECT list function to be called");
|
||||
});
|
||||
});
|
||||
|
||||
describe("List", () => {
|
||||
describe("GIVEN page option is supplied", () => {
|
||||
describe("AND page is a valid number", () => {
|
||||
test.todo("EXPECT EffectHelper.GenerateEffectEmbed to have been called with page");
|
||||
|
||||
test.todo("EXPECT interaction to have been replied");
|
||||
});
|
||||
|
||||
describe("AND page is not a valid number", () => {
|
||||
test.todo("EXPECT EffectHelper.GenerateEffectEmbed to have been called with page of 1");
|
||||
});
|
||||
});
|
||||
|
||||
describe("GIVEN page option is not supplied", () => {
|
||||
test.todo("EXPECT EffectHelper.GenerateEffectEmbed to have been called with a page of 1");
|
||||
});
|
||||
});
|
|
@ -279,3 +279,27 @@ describe("HasEffect", () => {
|
|||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("GenerateEffectEmbed", () => {
|
||||
test.todo("EXPECT UserEffect.FetchAllByUserIdPaginated to be called");
|
||||
|
||||
describe("GIVEN there are no effects returned", () => {
|
||||
test.todo("EXPECT embed generated");
|
||||
|
||||
test.todo("EXPECT row generated");
|
||||
});
|
||||
|
||||
describe("GIVEN there are effects returned", () => {
|
||||
test.todo("EXPECT embed generated");
|
||||
|
||||
test.todo("EXPECT row generated");
|
||||
|
||||
describe("AND it is the first page", () => {
|
||||
test.todo("EXPECT Previous button to be disabled");
|
||||
});
|
||||
|
||||
describe("AND it is the last page", () => {
|
||||
test.todo("EXPECT Next button to be disabled");
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue