Skip to content

Commit

Permalink
[studio] add coverage thresholds #1329 (#1330)
Browse files Browse the repository at this point in the history
* studio, web - coverage thresholds

* studio - unit tests fixed
  • Loading branch information
janavlachova authored Oct 29, 2024
1 parent 9d6e815 commit 28ff1cc
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 42 deletions.
7 changes: 7 additions & 0 deletions agdb_studio/src/router/router.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,11 @@ describe("router", () => {
expect(router.currentRoute.value.name).toBe("login");
expect(logoutMock).toHaveBeenCalled();
});
it("loads the about page", async () => {
isLoggedInMock.mockReturnValue(true);

await router.push("/about");

expect(router.currentRoute.value.name).toBe("about");
});
});
55 changes: 13 additions & 42 deletions agdb_studio/src/router/routes.spec.ts
Original file line number Diff line number Diff line change
@@ -1,49 +1,20 @@
import { describe, it, expect, beforeEach } from "vitest";
import { createRouter, createWebHistory } from "vue-router";
import { mount } from "@vue/test-utils";
import { describe, it, expect } from "vitest";
import { createRoutes } from "@/router/routes";
import HomeView from "@/views/HomeView.vue";
import AboutView from "@/views/HomeView.vue";
import LoginView from "@/views/LoginView.vue";
import App from "@/App.vue";

const setupTest = async (path: string) => {
const router = createRouter({
history: createWebHistory(),
routes: createRoutes(),
const validateRoutes = (routes: ReturnType<typeof createRoutes>) => {
routes.forEach((route) => {
expect(route.path).toBeDefined();
expect(route.component).toBeDefined();
if (route.children) {
validateRoutes(route.children);
}
});
router.push(path);
await router.isReady();
const wrapper = mount(App, {
global: {
plugins: [router],
},
});
return { router, wrapper };
};

describe("router", () => {
beforeEach(() => {
vi.clearAllMocks();
});

it("renders a default route", async () => {
const { wrapper } = await setupTest("/");

expect(wrapper.findComponent(HomeView).exists()).toBe(true);
});

it("renders the about route", async () => {
const { wrapper, router } = await setupTest("/");
router.push("/about");
await router.isReady();

expect(wrapper.findComponent(AboutView).exists()).toBe(true);
});

it("renders the login route", async () => {
const { wrapper } = await setupTest("/login");

expect(wrapper.findComponent(LoginView).exists()).toBe(true);
describe("routes", () => {
it("creates routes", () => {
const routes = createRoutes();
expect(routes).toHaveLength(2);
validateRoutes(routes);
});
});
9 changes: 9 additions & 0 deletions agdb_studio/src/views/HomeView.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import HomeView from "./HomeView.vue";
import { mount } from "@vue/test-utils";

describe("HomeView", () => {
it("renders properly", () => {
const wrapper = mount(HomeView);
expect(wrapper.find(".main-wrapper")).toBeTruthy();
});
});
9 changes: 9 additions & 0 deletions agdb_studio/src/views/LoginView.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import LoginView from "./LoginView.vue";
import { mount } from "@vue/test-utils";

describe("LoginView", () => {
it("renders properly", () => {
const wrapper = mount(LoginView);
expect(wrapper.text()).toContain("login");
});
});
7 changes: 7 additions & 0 deletions agdb_studio/vitest.config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,14 @@ export default mergeConfig(
"e2e/*",
"*.config.*",
"./src/main.ts",
"./src/App.vue",
],
thresholds: {
lines: 100,
functions: 100,
branches: 100,
statements: 100,
},
},
setupFiles: ["./vitest.setup.ts"],
globals: true,
Expand Down
6 changes: 6 additions & 0 deletions agdb_web/vitest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ export default defineConfig({
"*.config.*",
"middleware.ts",
],
thresholds: {
lines: 100,
functions: 100,
branches: 100,
statements: 100,
},
// reporter: ["text", ["html", { subdir: "coverage" }]],
},
},
Expand Down

0 comments on commit 28ff1cc

Please sign in to comment.