| 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); |
| }); |
| }); |