Command to allow the user to buy more effects (#424)
# Description - Create a command to generate an embed for the user to be able to buy more effects - This embed will contain the details about the effect as well as 2 buttons; Confirm and Cancel - The confirm button will call the button event to: - Remove the currency from the user - Give the user the effect to their inventory - The cancel button will just disable the buttons, so the user can't accidentally use it if they don't want to. #381 ## Type of change Please delete options that are not relevant. - [x] New feature (non-breaking change which adds functionality) # How Has This Been Tested? - Have created unit tests and tested locally # Checklist - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that provde my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules Reviewed-on: #424 Reviewed-by: VylpesTester <tester@vylpes.com> Co-authored-by: Ethan Lane <ethan@vylpes.com> Co-committed-by: Ethan Lane <ethan@vylpes.com>
This commit is contained in:
parent
c6b458199c
commit
5089ad6ab6
20 changed files with 942 additions and 97 deletions
|
@ -3,7 +3,7 @@ import UserEffect from "../../src/database/entities/app/UserEffect";
|
|||
|
||||
jest.mock("../../src/database/entities/app/UserEffect");
|
||||
|
||||
describe("GenerateEffectEmbed", () => {
|
||||
describe("GenerateEffectListEmbed", () => {
|
||||
test("GIVEN user has an effect, EXPECT detailed embed to be returned", async () => {
|
||||
// Arrange
|
||||
(UserEffect.FetchAllByUserIdPaginated as jest.Mock).mockResolvedValue([
|
||||
|
@ -17,7 +17,7 @@ describe("GenerateEffectEmbed", () => {
|
|||
]);
|
||||
|
||||
// Act
|
||||
const result = await EffectHelper.GenerateEffectEmbed("userId", 1);
|
||||
const result = await EffectHelper.GenerateEffectListEmbed("userId", 1);
|
||||
|
||||
// Assert
|
||||
expect(result).toMatchSnapshot();
|
||||
|
@ -43,7 +43,7 @@ describe("GenerateEffectEmbed", () => {
|
|||
]);
|
||||
|
||||
// Act
|
||||
const result = await EffectHelper.GenerateEffectEmbed("userId", 1);
|
||||
const result = await EffectHelper.GenerateEffectListEmbed("userId", 1);
|
||||
|
||||
// Assert
|
||||
expect(result).toMatchSnapshot();
|
||||
|
@ -69,7 +69,7 @@ describe("GenerateEffectEmbed", () => {
|
|||
]);
|
||||
|
||||
// Act
|
||||
const result = await EffectHelper.GenerateEffectEmbed("userId", 2);
|
||||
const result = await EffectHelper.GenerateEffectListEmbed("userId", 2);
|
||||
|
||||
// Assert
|
||||
expect(result).toMatchSnapshot();
|
||||
|
@ -83,7 +83,7 @@ describe("GenerateEffectEmbed", () => {
|
|||
]);
|
||||
|
||||
// Act
|
||||
const result = await EffectHelper.GenerateEffectEmbed("userId", 1);
|
||||
const result = await EffectHelper.GenerateEffectListEmbed("userId", 1);
|
||||
|
||||
// Assert
|
||||
expect(result).toMatchSnapshot();
|
||||
|
@ -107,9 +107,21 @@ describe("GenerateEffectEmbed", () => {
|
|||
});
|
||||
|
||||
// Act
|
||||
const result = await EffectHelper.GenerateEffectEmbed("userId", 1);
|
||||
const result = await EffectHelper.GenerateEffectListEmbed("userId", 1);
|
||||
|
||||
// Assert
|
||||
expect(result).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
|
||||
describe("GenerateEffectBuyEmbed", () => {
|
||||
test.todo("GIVEN Effect Details are not found, EXPECT error");
|
||||
|
||||
test.todo("GIVEN user is not in database, EXPECT blank user created");
|
||||
|
||||
test.todo("GIVEN user does not have enough currency, EXPECT error");
|
||||
|
||||
test.todo("GIVEN user does have enough currency, EXPECT embed returned");
|
||||
|
||||
test.todo("GIVEN disabled boolean is true, EXPECT buttons to be disabled");
|
||||
});
|
|
@ -1,6 +1,6 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`GenerateEffectEmbed GIVEN there is an active effect, EXPECT field added 1`] = `
|
||||
exports[`GenerateEffectListEmbed GIVEN there is an active effect, EXPECT field added 1`] = `
|
||||
{
|
||||
"embed": {
|
||||
"color": 3166394,
|
||||
|
@ -47,7 +47,7 @@ exports[`GenerateEffectEmbed GIVEN there is an active effect, EXPECT field added
|
|||
}
|
||||
`;
|
||||
|
||||
exports[`GenerateEffectEmbed GIVEN user does NOT have an effect, EXPECT empty embed to be returned 1`] = `
|
||||
exports[`GenerateEffectListEmbed GIVEN user does NOT have an effect, EXPECT empty embed to be returned 1`] = `
|
||||
{
|
||||
"embed": {
|
||||
"color": 3166394,
|
||||
|
@ -82,7 +82,7 @@ exports[`GenerateEffectEmbed GIVEN user does NOT have an effect, EXPECT empty em
|
|||
}
|
||||
`;
|
||||
|
||||
exports[`GenerateEffectEmbed GIVEN user has an effect, EXPECT detailed embed to be returned 1`] = `
|
||||
exports[`GenerateEffectListEmbed GIVEN user has an effect, EXPECT detailed embed to be returned 1`] = `
|
||||
{
|
||||
"embed": {
|
||||
"color": 3166394,
|
||||
|
@ -117,7 +117,7 @@ exports[`GenerateEffectEmbed GIVEN user has an effect, EXPECT detailed embed to
|
|||
}
|
||||
`;
|
||||
|
||||
exports[`GenerateEffectEmbed GIVEN user has more than 1 page of effects, EXPECT pagination enabled 1`] = `
|
||||
exports[`GenerateEffectListEmbed GIVEN user has more than 1 page of effects, EXPECT pagination enabled 1`] = `
|
||||
{
|
||||
"embed": {
|
||||
"color": 3166394,
|
||||
|
@ -166,7 +166,7 @@ Unclaimed Chance Up x1",
|
|||
}
|
||||
`;
|
||||
|
||||
exports[`GenerateEffectEmbed GIVEN user is on a page other than 1, EXPECT pagination enabled 1`] = `
|
||||
exports[`GenerateEffectListEmbed GIVEN user is on a page other than 1, EXPECT pagination enabled 1`] = `
|
||||
{
|
||||
"embed": {
|
||||
"color": 3166394,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue