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

1
.gitignore vendored
View file

@ -56,7 +56,6 @@ pytest_report.xml
.coverage.picamera .coverage.picamera
.coverage.main .coverage.main
picamera_test_hashes.json picamera_test_hashes.json
webapp/src/tests/fixtures/*
# Translations # Translations
*.mo *.mo

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