From 34fe31ef6f7ac9f7dc6d1a7c78cb632a3369dea2 Mon Sep 17 00:00:00 2001 From: andrewgryan Date: Fri, 28 Jun 2024 15:41:53 +0100 Subject: [PATCH 1/3] use playwright for higher fidelity testing --- package.json | 2 ++ src/generator.test.js | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 03d2020..781bddd 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,8 @@ "coverage:watch": "vitest watch --coverage" }, "devDependencies": { + "@playwright/test": "^1.44.1", + "@vitest/browser": "^1.6.0", "@vitest/coverage-v8": "^1.6.0", "happy-dom": "^14.10.1", "microbundle": "^0.15.1", diff --git a/src/generator.test.js b/src/generator.test.js index f539221..ef041d9 100644 --- a/src/generator.test.js +++ b/src/generator.test.js @@ -1,6 +1,6 @@ // @vitest-environment happy-dom import { circle, polyline, polygon, rectangle, latLng, latLngBounds } from "leaflet"; -import { it, expect } from "vitest"; +import { it, expect, vi } from "vitest"; import "./index.js" it("should render ", () => { @@ -211,8 +211,9 @@ it("should change zoom on tag", () => { el.setAttribute("zoom", "3") el.setAttribute("center", "[0, 0]") document.body.appendChild(el) + const setZoom = vi.spyOn(el.map, "setZoom") el.setAttribute("zoom", "5") - expect(el.map.getZoom()).toEqual(5) + expect(setZoom).toHaveBeenCalledWith(5) }) it("should change center on tag", () => { From d5a49f3759b6d2c8febebc0375e59ed2d8106be7 Mon Sep 17 00:00:00 2001 From: andrewgryan Date: Fri, 28 Jun 2024 15:48:07 +0100 Subject: [PATCH 2/3] use browser mode --- vite.config.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vite.config.js b/vite.config.js index 1fa282a..1873854 100644 --- a/vite.config.js +++ b/vite.config.js @@ -2,6 +2,12 @@ import { defineConfig } from "vite"; export default defineConfig({ test: { + browser: { + enabled: true, + headless: true, + name: "chromium", + provider: "playwright" + }, includeSource: ["src/**/*.{js,ts}"], }, }); From b0bfd5b4f4bd00ab49c3a10f9bc6eae9af645a7d Mon Sep 17 00:00:00 2001 From: andrewgryan Date: Sun, 30 Jun 2024 05:26:20 +0000 Subject: [PATCH 3/3] add istanbul coverage provider --- package.json | 1 + vite.config.js | 3 +++ 2 files changed, 4 insertions(+) diff --git a/package.json b/package.json index 781bddd..20831cd 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "devDependencies": { "@playwright/test": "^1.44.1", "@vitest/browser": "^1.6.0", + "@vitest/coverage-istanbul": "^1.6.0", "@vitest/coverage-v8": "^1.6.0", "happy-dom": "^14.10.1", "microbundle": "^0.15.1", diff --git a/vite.config.js b/vite.config.js index 1873854..8a39d38 100644 --- a/vite.config.js +++ b/vite.config.js @@ -8,6 +8,9 @@ export default defineConfig({ name: "chromium", provider: "playwright" }, + coverage: { + provider: "istanbul" + }, includeSource: ["src/**/*.{js,ts}"], }, });