Update js test with new log JSON

This commit is contained in:
jaknapper 2026-07-08 15:10:59 +01:00 committed by Julian Stirling
parent 7b7c5f932e
commit 66e3e23812
4 changed files with 1025 additions and 5634 deletions

1018
webapp/src/tests/fixtures/realLog.json vendored Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -3,8 +3,7 @@ import { describe, it, expect, vi, beforeEach } from "vitest";
import { createTestingPinia } from "@pinia/testing";
import { setActivePinia } from "pinia";
import axios from "axios";
import fs from "fs";
import path from "path";
import realLogs from "../fixtures/realLog.json";
import LoggingContent from "../../components/tabContentComponents/loggingContent.vue";
// Mock Axios
@ -33,12 +32,10 @@ describe("Test LoggingContent.vue", () => {
let wrapper;
// Define path to a real log file and read it
const logFilePath = path.resolve(__dirname, "../fixtures/realLog.txt");
const mockLogData = fs.readFileSync(logFilePath, "utf-8");
const mockLogData = realLogs;
// Things to do before each test
beforeEach(async () => {
vi.useFakeTimers();
// Reset mocks before each test
vi.resetAllMocks();
@ -69,8 +66,6 @@ describe("Test LoggingContent.vue", () => {
});
// flush so we avoid leaving uncompleted processes running on background
await flushPromises();
vi.advanceTimersByTime(1000);
vi.useRealTimers();
});
// Tear down wrapper, unmount testing component
@ -107,14 +102,11 @@ describe("Test LoggingContent.vue", () => {
// Verify the logs have correct file length
// Helps validate formatting, etc
expect(wrapper.vm.logs.length).toBe(5491);
expect(wrapper.vm.logs.length).toBe(113);
// Check the most recent log
expect(wrapper.vm.logs[0].level).toBe("INFO");
// Check if the multi-line file has real first connection information
expect(wrapper.vm.logs[0].message).toContain("uvicorn");
expect(wrapper.vm.logs[0].summary).toContain("http://0.0.0.0:5000");
expect(wrapper.vm.logs[0].logger).toContain("smart_scan");
});
// Test 3: Filter logging file information
@ -124,19 +116,19 @@ describe("Test LoggingContent.vue", () => {
// Set filter to WARNING wait and compare expected length
wrapper.vm.filterLevel = "WARNING";
await wrapper.vm.$nextTick();
expect(wrapper.vm.filteredItems.length).toBe(1449);
expect(wrapper.vm.filteredItems.length).toBe(5);
expect(wrapper.vm.filteredItems[0].level).toBe("WARNING");
// Set filter to INFO wait and compare expected length
wrapper.vm.filterLevel = "INFO";
await wrapper.vm.$nextTick();
expect(wrapper.vm.filteredItems.length).toBe(5491);
expect(wrapper.vm.filteredItems.length).toBe(113);
expect(wrapper.vm.filteredItems[0].level).toBe("INFO");
// Set filter to ERROR wait and compare expected length
wrapper.vm.filterLevel = "ERROR";
await wrapper.vm.$nextTick();
expect(wrapper.vm.filteredItems.length).toBe(7);
expect(wrapper.vm.filteredItems.length).toBe(1);
expect(wrapper.vm.filteredItems[0].level).toBe("ERROR");
});