85 lines
No EOL
2.3 KiB
TypeScript
85 lines
No EOL
2.3 KiB
TypeScript
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();
|
|
});
|
|
}); |