Add friendly name to list embed
This commit is contained in:
parent
a3248e978a
commit
d9e8fee1a6
3 changed files with 255 additions and 1 deletions
|
@ -82,7 +82,7 @@ export default class EffectHelper {
|
|||
let description = "*none*";
|
||||
|
||||
if (effects.length > 0) {
|
||||
description = effects.map(x => `${x.Name} x${x.Unused}`).join("\n");
|
||||
description = effects.map(x => `${EffectDetails.get(x.Name)?.friendlyName} x${x.Unused}`).join("\n");
|
||||
}
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
|
|
85
tests/helpers/EffectHelper.test.ts
Normal file
85
tests/helpers/EffectHelper.test.ts
Normal file
|
@ -0,0 +1,85 @@
|
|||
import EffectHelper from "../../src/helpers/EffectHelper";
|
||||
import UserEffect from "../../src/database/entities/app/UserEffect";
|
||||
|
||||
jest.mock("../../src/database/entities/app/UserEffect");
|
||||
|
||||
describe("GenerateEffectEmbed", () => {
|
||||
test("GIVEN user has an effect, EXPECT detailed embed to be returned", async () => {
|
||||
// Arrange
|
||||
(UserEffect.FetchAllByUserIdPaginated as jest.Mock).mockResolvedValue([
|
||||
[
|
||||
{
|
||||
Name: "unclaimed",
|
||||
Unused: 1,
|
||||
}
|
||||
],
|
||||
1,
|
||||
])
|
||||
|
||||
// Act
|
||||
const result = await EffectHelper.GenerateEffectEmbed("userId", 1);
|
||||
|
||||
// Assert
|
||||
expect(result).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test("GIVEN user has more than 1 page of effects, EXPECT pagination enabled", async () => {
|
||||
const effects: any[] = [];
|
||||
|
||||
for (let i = 0; i < 15; i++) {
|
||||
effects.push({
|
||||
Name: "unclaimed",
|
||||
Unused: 1,
|
||||
});
|
||||
}
|
||||
|
||||
// Arrange
|
||||
(UserEffect.FetchAllByUserIdPaginated as jest.Mock).mockResolvedValue([
|
||||
effects,
|
||||
15,
|
||||
])
|
||||
|
||||
// Act
|
||||
const result = await EffectHelper.GenerateEffectEmbed("userId", 1);
|
||||
|
||||
// Assert
|
||||
expect(result).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test("GIVEN user is on a page other than 1, EXPECT pagination enabled", async () => {
|
||||
const effects: any[] = [];
|
||||
|
||||
for (let i = 0; i < 15; i++) {
|
||||
effects.push({
|
||||
Name: "unclaimed",
|
||||
Unused: 1,
|
||||
});
|
||||
}
|
||||
|
||||
// Arrange
|
||||
(UserEffect.FetchAllByUserIdPaginated as jest.Mock).mockResolvedValue([
|
||||
effects,
|
||||
15,
|
||||
])
|
||||
|
||||
// Act
|
||||
const result = await EffectHelper.GenerateEffectEmbed("userId", 2);
|
||||
|
||||
// Assert
|
||||
expect(result).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test("GIVEN user does NOT have an effect, EXPECT empty embed to be returned", async () => {
|
||||
// Arrange
|
||||
(UserEffect.FetchAllByUserIdPaginated as jest.Mock).mockResolvedValue([
|
||||
[],
|
||||
0,
|
||||
])
|
||||
|
||||
// Act
|
||||
const result = await EffectHelper.GenerateEffectEmbed("userId", 1);
|
||||
|
||||
// Assert
|
||||
expect(result).toMatchSnapshot();
|
||||
});
|
||||
});
|
169
tests/helpers/__snapshots__/EffectHelper.test.ts.snap
Normal file
169
tests/helpers/__snapshots__/EffectHelper.test.ts.snap
Normal file
|
@ -0,0 +1,169 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`GenerateEffectEmbed GIVEN user does NOT have an effect, EXPECT empty embed to be returned 1`] = `
|
||||
{
|
||||
"embed": {
|
||||
"color": 3166394,
|
||||
"description": "*none*",
|
||||
"footer": {
|
||||
"icon_url": undefined,
|
||||
"text": "Page 1 of 1",
|
||||
},
|
||||
"title": "Effects",
|
||||
},
|
||||
"row": {
|
||||
"components": [
|
||||
{
|
||||
"custom_id": "effects list 0",
|
||||
"disabled": true,
|
||||
"emoji": undefined,
|
||||
"label": "Previous",
|
||||
"style": 1,
|
||||
"type": 2,
|
||||
},
|
||||
{
|
||||
"custom_id": "effects list 2",
|
||||
"disabled": true,
|
||||
"emoji": undefined,
|
||||
"label": "Next",
|
||||
"style": 1,
|
||||
"type": 2,
|
||||
},
|
||||
],
|
||||
"type": 1,
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`GenerateEffectEmbed GIVEN user has an effect, EXPECT detailed embed to be returned 1`] = `
|
||||
{
|
||||
"embed": {
|
||||
"color": 3166394,
|
||||
"description": "Unclaimed Chance Up x1",
|
||||
"footer": {
|
||||
"icon_url": undefined,
|
||||
"text": "Page 1 of 1",
|
||||
},
|
||||
"title": "Effects",
|
||||
},
|
||||
"row": {
|
||||
"components": [
|
||||
{
|
||||
"custom_id": "effects list 0",
|
||||
"disabled": true,
|
||||
"emoji": undefined,
|
||||
"label": "Previous",
|
||||
"style": 1,
|
||||
"type": 2,
|
||||
},
|
||||
{
|
||||
"custom_id": "effects list 2",
|
||||
"disabled": true,
|
||||
"emoji": undefined,
|
||||
"label": "Next",
|
||||
"style": 1,
|
||||
"type": 2,
|
||||
},
|
||||
],
|
||||
"type": 1,
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`GenerateEffectEmbed GIVEN user has more than 1 page of effects, EXPECT pagination enabled 1`] = `
|
||||
{
|
||||
"embed": {
|
||||
"color": 3166394,
|
||||
"description": "Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1",
|
||||
"footer": {
|
||||
"icon_url": undefined,
|
||||
"text": "Page 1 of 2",
|
||||
},
|
||||
"title": "Effects",
|
||||
},
|
||||
"row": {
|
||||
"components": [
|
||||
{
|
||||
"custom_id": "effects list 0",
|
||||
"disabled": true,
|
||||
"emoji": undefined,
|
||||
"label": "Previous",
|
||||
"style": 1,
|
||||
"type": 2,
|
||||
},
|
||||
{
|
||||
"custom_id": "effects list 2",
|
||||
"disabled": false,
|
||||
"emoji": undefined,
|
||||
"label": "Next",
|
||||
"style": 1,
|
||||
"type": 2,
|
||||
},
|
||||
],
|
||||
"type": 1,
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`GenerateEffectEmbed GIVEN user is on a page other than 1, EXPECT pagination enabled 1`] = `
|
||||
{
|
||||
"embed": {
|
||||
"color": 3166394,
|
||||
"description": "Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1
|
||||
Unclaimed Chance Up x1",
|
||||
"footer": {
|
||||
"icon_url": undefined,
|
||||
"text": "Page 2 of 2",
|
||||
},
|
||||
"title": "Effects",
|
||||
},
|
||||
"row": {
|
||||
"components": [
|
||||
{
|
||||
"custom_id": "effects list 1",
|
||||
"disabled": false,
|
||||
"emoji": undefined,
|
||||
"label": "Previous",
|
||||
"style": 1,
|
||||
"type": 2,
|
||||
},
|
||||
{
|
||||
"custom_id": "effects list 3",
|
||||
"disabled": true,
|
||||
"emoji": undefined,
|
||||
"label": "Next",
|
||||
"style": 1,
|
||||
"type": 2,
|
||||
},
|
||||
],
|
||||
"type": 1,
|
||||
},
|
||||
}
|
||||
`;
|
Loading…
Reference in a new issue