WIP: Split up moon counter from the database #489
3 changed files with 53 additions and 4 deletions
|
@ -8,7 +8,7 @@
|
||||||
"clean": "rm -rf node_modules/ dist/",
|
"clean": "rm -rf node_modules/ dist/",
|
||||||
"build": "tsc",
|
"build": "tsc",
|
||||||
"start": "node ./dist/vylbot",
|
"start": "node ./dist/vylbot",
|
||||||
"test": "jest . --passWithNoTests",
|
"test": "jest .",
|
||||||
"db:up": "typeorm migration:run -d dist/database/dataSources/appDataSource.js",
|
"db:up": "typeorm migration:run -d dist/database/dataSources/appDataSource.js",
|
||||||
"db:down": "typeorm migration:revert -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",
|
"db:create": "typeorm migration:create ./src/database/migrations",
|
||||||
|
|
|
@ -13,13 +13,13 @@ export default async function List(interaction: ButtonInteraction) {
|
||||||
|
|
||||||
const pageNumber = Number(page);
|
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 pageLength = 10;
|
||||||
|
|
||||||
const moons = await Moon.FetchPaginatedMoonsByUserId(userId, pageLength, pageNumber);
|
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.`);
|
await interaction.reply(`${member?.user.username ?? "This user"} does not have any moons or page is invalid.`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ export default async function List(interaction: ButtonInteraction) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const embed = new EmbedBuilder()
|
const embed = new EmbedBuilder()
|
||||||
.setTitle(`${member?.user.username}'s Moons`)
|
.setTitle(`${member.user.username}'s Moons`)
|
||||||
.setColor(EmbedColours.Ok)
|
.setColor(EmbedColours.Ok)
|
||||||
.setDescription(description.join("\n"))
|
.setDescription(description.join("\n"))
|
||||||
.setFooter({ text: `Page ${pageNumber + 1} of ${totalPages} · ${totalMoons} moons` });
|
.setFooter({ text: `Page ${pageNumber + 1} of ${totalPages} · ${totalMoons} moons` });
|
||||||
|
|
49
tests/buttonEvents/moons/list.test.ts
Normal file
49
tests/buttonEvents/moons/list.test.ts
Normal 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");
|
||||||
|
});
|
Loading…
Reference in a new issue