fix: resolve CI failures in server lint and client tests

Server lint (golangci-lint):
- Add package comment to client_update.go (ST1000)
- Remove unnecessary fmt.Sprintf in updater_test.go (S1039)
- Remove redundant |0x00 in rtp_audio_level_test.go (SA4016)

Client tests (vitest):
- Fix messages.store.test.ts: account for .reverse() in
  setMessages/prependMessages (API returns newest-first)
- Fix logs-tab.test.ts: use .log-entry pre selector to avoid
  matching diagnostics <pre> placeholders; add createLogger
  to @lib/logger mock
- Fix settings-overlay.test.ts: add setVoiceSensitivity to
  @lib/voiceSession mock
This commit is contained in:
jevb
2026-03-19 06:20:00 +01:00
parent 4acf507702
commit 4945bc9ee9
6 changed files with 14 additions and 6 deletions
@@ -18,6 +18,7 @@ vi.mock("@lib/logger", () => ({
clearLogBuffer: mockClearLogBuffer,
addLogListener: mockAddLogListener,
setLogLevel: mockSetLogLevel,
createLogger: () => ({ debug: vi.fn(), info: vi.fn(), warn: vi.fn(), error: vi.fn() }),
}));
import { createLogsTab } from "../../src/components/settings/LogsTab";
@@ -93,7 +94,9 @@ describe("LogsTab", () => {
]);
const handle = createLogsTab(() => "Logs" as TabName, controller.signal);
const el = handle.build();
const pre = el.querySelector("pre");
// Find the <pre> inside a log-entry row (not the diagnostics result <pre>).
const pre = el.querySelector(".log-entry pre");
expect(pre).not.toBeNull();
expect(pre!.textContent).toBe("some string");
});
@@ -176,9 +176,10 @@ describe("messages store", () => {
// 3. setMessages bulk sets and marks loaded
describe("setMessages", () => {
it("sets messages for a channel", () => {
// API returns newest-first; store reverses to oldest-first for display.
const responses = [
makeMessageResponse({ id: 10 }),
makeMessageResponse({ id: 11 }),
makeMessageResponse({ id: 10 }),
];
setMessages(1, responses, false);
@@ -227,10 +228,11 @@ describe("messages store", () => {
// 4. prependMessages prepends older messages
describe("prependMessages", () => {
it("prepends older messages before existing ones", () => {
// API returns newest-first; store reverses to oldest-first.
setMessages(1, [makeMessageResponse({ id: 20 })], true);
prependMessages(
1,
[makeMessageResponse({ id: 10 }), makeMessageResponse({ id: 15 })],
[makeMessageResponse({ id: 15 }), makeMessageResponse({ id: 10 })],
false,
);
@@ -28,6 +28,7 @@ vi.mock("@stores/ui.store", () => ({
vi.mock("@lib/voiceSession", () => ({
switchInputDevice: vi.fn().mockResolvedValue(undefined),
switchOutputDevice: vi.fn().mockResolvedValue(undefined),
setVoiceSensitivity: vi.fn(),
}));
vi.mock("@stores/auth.store", () => ({
+2
View File
@@ -1,3 +1,5 @@
// Package api provides the HTTP router and handlers for the OwnCord server.
//
// client_update.go serves Tauri-compatible update metadata so the desktop
// client can check for new versions and self-update.
package api
+2 -2
View File
@@ -397,8 +397,8 @@ func TestDownloadAndVerify_Success(t *testing.T) {
u := NewUpdater("1.0.0", "", "J3vb", "OwnCord")
u.baseURL = srv.URL
downloadURL := fmt.Sprintf("https://github.com/J3vb/OwnCord/releases/download/v1.0.0/chatserver.exe")
checksumURL := fmt.Sprintf("https://github.com/J3vb/OwnCord/releases/download/v1.0.0/checksums.sha256")
downloadURL := "https://github.com/J3vb/OwnCord/releases/download/v1.0.0/chatserver.exe"
checksumURL := "https://github.com/J3vb/OwnCord/releases/download/v1.0.0/checksums.sha256"
// Override HTTP client to route GitHub URLs to our test server.
u.httpClient = &http.Client{
+1 -1
View File
@@ -33,7 +33,7 @@ func buildRTPPacket(csrcCount int, extensions []struct{ id, value byte }) []byte
// For simplicity each extension here has 1 byte of data (L=0).
var extData []byte
for _, ext := range extensions {
extData = append(extData, (ext.id<<4)|0x00) // ID | L=0 (1 byte data)
extData = append(extData, ext.id<<4) // ID | L=0 (1 byte data)
extData = append(extData, ext.value)
}