import { describe, it, expect } from "vitest"; import * as PublicDAL from "../../../src/dal/public"; describe("PublicDAL", function () { it("should be able to update stats", async function () { // checks it doesn't throw an error. the actual values are checked in another test. await PublicDAL.updateStats(1, 15); }); it("should be able to get typing stats", async function () { const typingStats = await PublicDAL.getTypingStats(); expect(typingStats).toHaveProperty("testsCompleted"); expect(typingStats).toHaveProperty("testsStarted"); expect(typingStats).toHaveProperty("timeTyping"); }); it("should increment stats on update", async function () { // checks that both functions are working on the same data in mongo const priorStats = await PublicDAL.getTypingStats(); await PublicDAL.updateStats(1, 60); const afterStats = await PublicDAL.getTypingStats(); expect(afterStats.testsCompleted).toBe(priorStats.testsCompleted + 1); expect(afterStats.testsStarted).toBe(priorStats.testsStarted + 2); expect(afterStats.timeTyping).toBe(priorStats.timeTyping + 60); }); });