import * as rdf from "rdflib"; import { getArchiveUrl, uniqueNodes } from '../src/util/utils'; describe('utils', () => { describe('uniqueNodes', () => { it('exists', () => { expect(uniqueNodes).toBeInstanceOf(Function) }) it('removed duplicates', async () => { const input = [ rdf.sym('https://a.com/'), rdf.sym('https://b.com/'), rdf.sym('https://a.com/'), rdf.sym('https://a.com/'), rdf.sym('https://c.com/'), ] const expected = [ rdf.sym('https://a.com/'), rdf.sym('https://b.com/'), rdf.sym('https://c.com/'), ] const result = uniqueNodes(input) expect(result).toEqual(expected) }) it('handles an empty array', async () => { const result = await uniqueNodes([]) expect(result).toEqual([]) }) }) describe("getArchiveUrl", () => { it("produces the right URL in February", () => { const url = getArchiveUrl('https://example.com/inbox/asdf-qwer-asdf-qwer', new Date('7 Feb 2062 UTC')); expect(url).toEqual('https://example.com/inbox/archive/2062/02/07/asdf-qwer-asdf-qwer'); }); it("produces the right URL in November", () => { const url = getArchiveUrl('https://example.com/inbox/asdf-qwer-asdf-qwer', new Date('12 Nov 2012 UTC')); expect(url).toEqual('https://example.com/inbox/archive/2012/11/12/asdf-qwer-asdf-qwer'); }); }) })