87 lines
2.4 KiB
TypeScript
87 lines
2.4 KiB
TypeScript
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
import { mount } from "@vue/test-utils";
|
|
import ListingComponent from "../ListingComponent.vue";
|
|
import SpinnerComponent from "../../SpinnerComponent.vue";
|
|
import { useViemStore } from "@/store/viem";
|
|
import { MockValidDeposits } from "@/model/mock/ValidDepositMock";
|
|
import { MockWalletTransactions } from "@/model/mock/WalletTransactionMock";
|
|
|
|
describe("ListingComponent.vue", () => {
|
|
beforeEach(() => {
|
|
useViemStore().setLoadingWalletTransactions(false);
|
|
});
|
|
|
|
test("Test Message when an empty array is received", () => {
|
|
const wrapper = mount(ListingComponent, {
|
|
props: {
|
|
validDeposits: [],
|
|
walletTransactions: [],
|
|
activeLockAmount: 0,
|
|
},
|
|
});
|
|
|
|
expect(wrapper.html()).toContain("Não há nenhuma transação anterior");
|
|
});
|
|
|
|
test("Test number of elements in the list first render", () => {
|
|
const wrapper = mount(ListingComponent, {
|
|
props: {
|
|
validDeposits: [],
|
|
walletTransactions: MockWalletTransactions,
|
|
activeLockAmount: 0,
|
|
},
|
|
});
|
|
|
|
const elements = wrapper.findAll(".item-container");
|
|
|
|
expect(elements).toHaveLength(3);
|
|
});
|
|
|
|
test("Test load more button behavior", async () => {
|
|
const wrapper = mount(ListingComponent, {
|
|
props: {
|
|
validDeposits: MockValidDeposits,
|
|
walletTransactions: MockWalletTransactions,
|
|
activeLockAmount: 0,
|
|
},
|
|
});
|
|
const btn = wrapper.find("button");
|
|
|
|
let elements = wrapper.findAll(".item-container");
|
|
expect(elements).toHaveLength(3);
|
|
|
|
await btn.trigger("click");
|
|
|
|
elements = wrapper.findAll(".item-container");
|
|
|
|
expect(elements).toHaveLength(5);
|
|
});
|
|
|
|
test("Test withdraw offer button emit", async () => {
|
|
const wrapper = mount(ListingComponent, {
|
|
props: {
|
|
validDeposits: MockValidDeposits,
|
|
walletTransactions: MockWalletTransactions,
|
|
activeLockAmount: 0,
|
|
},
|
|
});
|
|
wrapper.vm.$emit("depositWithdrawn");
|
|
|
|
await wrapper.vm.$nextTick();
|
|
|
|
expect(wrapper.emitted("depositWithdrawn")).toBeTruthy();
|
|
});
|
|
|
|
test("Test should render lock info when active lock amount is greater than 0", () => {
|
|
const wrapper = mount(ListingComponent, {
|
|
props: {
|
|
validDeposits: MockValidDeposits,
|
|
walletTransactions: [],
|
|
activeLockAmount: 50,
|
|
},
|
|
});
|
|
|
|
expect(wrapper.html()).toContain("com 50.00 BRZ em lock");
|
|
});
|
|
});
|