mirror of
https://github.com/jakejarvis/sofa.git
synced 2026-07-14 18:15:56 -04:00
- Replace bun:test with Vitest across all 22 test files - Create @sofa/test package with shared setup and DB test helpers - setup.ts: vi.mock for @sofa/db/client, Bun.randomUUIDv7 polyfill - db.ts: in-memory SQLite via better-sqlite3, seed helpers - Add per-project vitest configs (packages/core, apps/web) - Add root vitest.config.ts with projects and v8 coverage - Set up @vitest/browser + Playwright for web component tests - Move validateBackupDatabase from core/backup.ts to @sofa/db/client - Derive required backup tables from schema instead of hard-coded list - Update CI workflow with Playwright install and Codecov upload - Update CLAUDE.md documentation for Vitest Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
46 lines
1.2 KiB
TypeScript
46 lines
1.2 KiB
TypeScript
import { describe, expect, test } from "vitest";
|
|
|
|
import { isNewerVersion } from "../src/update-check";
|
|
|
|
describe("isNewerVersion", () => {
|
|
test("newer major version", () => {
|
|
expect(isNewerVersion("2.0.0", "1.0.0")).toBe(true);
|
|
});
|
|
|
|
test("older major version", () => {
|
|
expect(isNewerVersion("1.0.0", "2.0.0")).toBe(false);
|
|
});
|
|
|
|
test("newer minor version", () => {
|
|
expect(isNewerVersion("1.2.0", "1.1.0")).toBe(true);
|
|
});
|
|
|
|
test("older minor version", () => {
|
|
expect(isNewerVersion("1.1.0", "1.2.0")).toBe(false);
|
|
});
|
|
|
|
test("newer patch version", () => {
|
|
expect(isNewerVersion("1.0.2", "1.0.1")).toBe(true);
|
|
});
|
|
|
|
test("older patch version", () => {
|
|
expect(isNewerVersion("1.0.1", "1.0.2")).toBe(false);
|
|
});
|
|
|
|
test("equal versions return false", () => {
|
|
expect(isNewerVersion("1.2.3", "1.2.3")).toBe(false);
|
|
});
|
|
|
|
test("handles 'v' prefix on latest", () => {
|
|
expect(isNewerVersion("v2.0.0", "1.0.0")).toBe(true);
|
|
});
|
|
|
|
test("handles 'v' prefix on current", () => {
|
|
expect(isNewerVersion("2.0.0", "v1.0.0")).toBe(true);
|
|
});
|
|
|
|
test("handles 'v' prefix on both", () => {
|
|
expect(isNewerVersion("v1.0.0", "v1.0.0")).toBe(false);
|
|
});
|
|
});
|