Compare commits

...

2 commits

Author SHA1 Message Date
a7b3079fcd WIP: Start to plan tests
Some checks failed
Test / build (push) Failing after 9s
2024-09-21 11:21:55 +01:00
3c45410932 Update the moon description to use dash 2024-09-21 10:54:00 +01:00
8 changed files with 111 additions and 3 deletions

View file

@ -25,7 +25,7 @@ export default async function List(interaction: ButtonInteraction) {
const totalPages = Math.ceil(moons[1] / pageLength); const totalPages = Math.ceil(moons[1] / pageLength);
const description = moons[0].flatMap(x => `${x.MoonNumber}. ${x.Description.slice(0, 15)}`); const description = moons[0].flatMap(x => `**${x.MoonNumber} -** ${x.Description.slice(0, 15)}`);
const embed = new EmbedBuilder() const embed = new EmbedBuilder()
.setTitle(`${member?.user.username}'s Moons`) .setTitle(`${member?.user.username}'s Moons`)

View file

@ -19,7 +19,7 @@ export default async function AddMoon(interaction: CommandInteraction) {
const embed = new EmbedBuilder() const embed = new EmbedBuilder()
.setTitle(`${interaction.user.globalName} Got A Moon!`) .setTitle(`${interaction.user.globalName} Got A Moon!`)
.setColor(EmbedColours.Moon) .setColor(EmbedColours.Moon)
.setDescription(`${moon.MoonNumber}. ${moon.Description}`) .setDescription(`**${moon.MoonNumber} -** ${moon.Description}`)
.setThumbnail("https://cdn.discordapp.com/emojis/374131312182689793.webp?size=96&quality=lossless"); .setThumbnail("https://cdn.discordapp.com/emojis/374131312182689793.webp?size=96&quality=lossless");
await interaction.reply({ embeds: [ embed ] }); await interaction.reply({ embeds: [ embed ] });

View file

@ -17,7 +17,7 @@ export default async function ListMoons(interaction: CommandInteraction) {
const totalPages = Math.ceil(moons[1] / pageLength); const totalPages = Math.ceil(moons[1] / pageLength);
const description = moons[0].flatMap(x => `${x.MoonNumber}. ${x.Description.slice(0, 15)}`); const description = moons[0].flatMap(x => `**${x.MoonNumber} -** ${x.Description.slice(0, 15)}`);
const embed = new EmbedBuilder() const embed = new EmbedBuilder()
.setTitle(`${user.username}'s Moons`) .setTitle(`${user.username}'s Moons`)

View file

@ -0,0 +1,35 @@
describe("GIVEN valid input", () => {
test.todo("EXPECT interaction.update to be called");
test.todo("EXPECT embed to contain correct information");
test.todo("EXPECT component row to contain correct information");
describe("GIVEN is first page", () => {
test.todo("EXPECT Previous button to be disabled");
});
describe("GIVEN is last page", () => {
test.todo("EXPECT Next button to be disabled");
});
});
describe("GIVEN interaction.guild is undefined", () => {
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 moon object is undefined", () => {
test.todo("EXPECT error replied");
});
describe("GIVEN the user has 0 moons", () => {
test.todo("EXPECT error replied");
});

View file

@ -0,0 +1,17 @@
describe("constructor", () => {
test.todo("EXPECT CommandBuilder to be valid");
});
describe("execute", () => {
describe("GIVEN subcommand is list", () => {
test.todo("EXPECT ListMoons executed");
});
describe("GIVEN subcommand is add", () => {
test.todo("EXPECT AddMoon executed");
});
describe("GIVEN interaction.isChatInputCommand is false", () => {
test.todo("EXPECT nothing to happen");
});
});

View file

@ -0,0 +1,17 @@
describe("GIVEN valid input", () => {
test.todo("EXPECT interaction replied");
test.todo("EXPECT embed details are correct");
});
describe("GIVEN description is undefined", () => {
test.todo("EXPECT error replied");
test.todo("EXPECT function returned");
});
describe("GIVEN description is more than 255 characters long", () => {
test.todo("EXPECT error replied");
test.todo("EXPECT function returned");
});

View file

@ -0,0 +1,39 @@
describe("GIVEN valid input", () => {
test.todo("EXPECT interaction replied");
test.todo("EXPECT embed information to be correct");
test.todo("EXPECT component information to be correct");
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 interaction.guild is undefined", () => {
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 object is undefined", () => {
test.todo("EXPECT error replied");
test.todo("EXPECT function returned");
});
describe("GIVEN moons for user is 0", () => {
test.todo("EXPECT error replied");
test.todo("EXPECT function returned");
});