const { test, describe } = require("node:test"); const assert = require("node:assert"); const { mostLikes } = require("../src/utils"); describe("most likes ", () => { const posts = [ { _id: "5a422aa71b54a676234d17f8", title: "Go To Statement Considered Harmful", author: "Edsger W. Dijkstra", url: "https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf", likes: 5, __v: 0, }, { _id: "5a422aa71b54a676234d17f8", title: "Go To Statement Considered Harmful", author: "Edsger W. Dijkstra", url: "https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf", likes: 2, __v: 0, }, { _id: "123", title: "Lololo", author: "John Doe", url: "https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf", likes: 1, __v: 0, }, ]; const emptyArray = []; const gibberish = "asdaSd123asd"; test("finds top author properly", () => { assert.deepStrictEqual(mostLikes(posts), { author: "Edsger W. Dijkstra", likes: 7, }); }); test("works fine with empty array", () => { assert.strictEqual(mostLikes(emptyArray), null); }); test("fails with gibberish input", () => { const failedCall = () => { mostLikes(gibberish); }; assert.throws(failedCall, Error); }); });