blob: 04e3386a0004dbd1710b3bf4b4254bd0f9786436 [file] [log] [blame]
import { html, fixture, expect } from "@open-wc/testing";
import "./sketch-network-status";
import type { SketchNetworkStatus } from "./sketch-network-status";
describe("SketchNetworkStatus", () => {
it("displays the correct connection status when connected", async () => {
const el: SketchNetworkStatus = await fixture(html`
<sketch-network-status
connection="connected"
message="Connected to server"
></sketch-network-status>
`);
const indicator = el.shadowRoot!.querySelector(".polling-indicator");
const statusText = el.shadowRoot!.querySelector(".status-text");
expect(indicator).to.exist;
expect(statusText).to.exist;
expect(indicator!.classList.contains("active")).to.be.true;
expect(statusText!.textContent).to.equal("Connected to server");
});
it("displays the correct connection status when disconnected", async () => {
const el: SketchNetworkStatus = await fixture(html`
<sketch-network-status
connection="disconnected"
message="Disconnected"
></sketch-network-status>
`);
const indicator = el.shadowRoot!.querySelector(".polling-indicator");
expect(indicator).to.exist;
expect(indicator!.classList.contains("error")).to.be.true;
});
it("displays the correct connection status when disabled", async () => {
const el: SketchNetworkStatus = await fixture(html`
<sketch-network-status
connection="disabled"
message="Disabled"
></sketch-network-status>
`);
const indicator = el.shadowRoot!.querySelector(".polling-indicator");
expect(indicator).to.exist;
expect(indicator!.classList.contains("error")).to.be.false;
expect(indicator!.classList.contains("active")).to.be.false;
});
it("displays error message when provided", async () => {
const errorMsg = "Connection error";
const el: SketchNetworkStatus = await fixture(html`
<sketch-network-status
connection="disconnected"
message="Disconnected"
error="${errorMsg}"
></sketch-network-status>
`);
const statusText = el.shadowRoot!.querySelector(".status-text");
expect(statusText).to.exist;
expect(statusText!.textContent).to.equal(errorMsg);
});
});