Files
radicle-explorer/src/BlockTimer.spec.ts
T
2022-08-31 17:47:07 +02:00

57 lines
1.3 KiB
TypeScript

import BlockTimer from "./BlockTimer.svelte";
import { render } from "@testing-library/svelte";
import "@public/index.css";
import type { EventType, Listener } from "@ethersproject/abstract-provider";
describe("BlockTimer", () => {
it("increases correctly the loading bar", () => {
let block = 1;
const props = {
config: {
provider: {
on: (event: EventType, listener: Listener) => {
if (event === "block") {
listener(block);
}
},
},
},
startBlock: 1,
duration: 3,
};
const { rerender } = render(BlockTimer, props);
cy.get("div.loader")
.should("have.attr", "style", "width: 0%;")
.then(() => {
block += 1;
rerender(props);
});
cy.get("div.loader")
.last()
.should("have.attr", "style", "width: 33%;")
.then(() => {
block += 1;
rerender(props);
});
cy.get("div.loader")
.last()
.should("have.attr", "style", "width: 66%;")
.then(() => {
block += 1;
rerender(props);
});
cy.get("div.loader")
.last()
.should("have.attr", "style", "width: 99%;")
.then(() => {
block += 1;
rerender(props);
});
});
});