WIP: Planning list.test.ts
All checks were successful
Test / build (push) Successful in 9s

This commit is contained in:
Ethan Lane 2024-10-30 09:35:34 +00:00
parent 866beb0e04
commit 974e298214
3 changed files with 53 additions and 4 deletions

View file

@ -8,7 +8,7 @@
"clean": "rm -rf node_modules/ dist/",
"build": "tsc",
"start": "node ./dist/vylbot",
"test": "jest . --passWithNoTests",
"test": "jest .",
"db:up": "typeorm migration:run -d dist/database/dataSources/appDataSource.js",
"db:down": "typeorm migration:revert -d dist/database/dataSources/appDataSource.js",
"db:create": "typeorm migration:create ./src/database/migrations",

View file

@ -13,13 +13,13 @@ export default async function List(interaction: ButtonInteraction) {
const pageNumber = Number(page);
const member = interaction.guild.members.cache.find(x => x.user.id == userId);
const member = interaction.guild.members.cache.find(x => x.user.id == userId) || await interaction.guild.members.fetch(userId);
const pageLength = 10;
const moons = await Moon.FetchPaginatedMoonsByUserId(userId, pageLength, pageNumber);
if (!moons || moons[0].length == 0) {
if (!moons) {
await interaction.reply(`${member?.user.username ?? "This user"} does not have any moons or page is invalid.`);
return;
}
@ -43,7 +43,7 @@ export default async function List(interaction: ButtonInteraction) {
}
const embed = new EmbedBuilder()
.setTitle(`${member?.user.username}'s Moons`)
.setTitle(`${member.user.username}'s Moons`)
.setColor(EmbedColours.Ok)
.setDescription(description.join("\n"))
.setFooter({ text: `Page ${pageNumber + 1} of ${totalPages} · ${totalMoons} moons` });

View file

@ -0,0 +1,49 @@
describe("GIVEN interation.guild is null", () => {
test.todo("EXPECT nothing to happen");
});
describe("GIVEN userId is not supplied", () => {
test.todo("EXPECT nothing to happen");
});
describe("GIVEN page is not supplied", () => {
test.todo("EXPECT nothing to happen");
});
describe("GIVEN moons entity is undefined", () => {
test.todo("EXPECT interaction replied");
});
describe("GIVEN moons array is empty", () => {
test.todo("EXPECT embed description to say none");
});
describe("GIVEN moons array is not empty", () => {
test.todo("EXPECT embed description to specify moon details");
});
describe("GIVEN moon difference is greater than 0", () => {
describe("GIVEN it is not the last page", () => {
test.todo("EXPECT untracked moons message to not be displayed");
});
describe("GIVEN it is the last page", () => {
test.todo("EXPECT untracked moons to be displayed");
});
describe("GIVEN moons array is empty", () => {
test.todo("EXPECT untracked moons to be displayed");
});
});
describe("GIVEN it is the first page", () => {
test.todo("EXPECT previous button to be disabled");
});
describe("GIVEN it is the last page", () => {
test.todo("EXPECT next button to be disabled");
});
describe("GIVEN happy flow", () => {
test.todo("EXPECT interaction to be updated");
});