/ tests / models / Article.test.ts
Article.test.ts
 1  import news from "@!/news.json";
 2  import { describe, expect, it } from "bun:test";
 3  import { deserialize } from "desero";
 4  import { Article } from "~/models";
 5  
 6  describe("ArticleDTO", () => {
 7    it("should decode [0] to model properly", () => {
 8      const article = deserialize(Article, news[0]);
 9      expect(article.id).toBe("a1");
10      expect(article.publishedAt).toEqual(new Date("2022-07-01"));
11      expect(article.category).toBe("restos");
12      expect(article.imageUrl).toBe("http://www.crous-limoges.fr/wp-content/uploads/sites/21/2021/06/Recrutement-300x300.png");
13      expect(article.content).toBe("<div>Le Crous de Limoges propose chaque année aux étudiants des emplois.</div>");
14    });
15  
16    it("should decode [1] to model properly", () => {
17      const article = deserialize(Article, news[1]);
18      expect(article.id).toBe("a2");
19      expect(article.publishedAt).toEqual(new Date("2021-07-21"));
20      expect(article.category).toBe("aides");
21      expect(article.imageUrl).toBe("http://www.crous-limoges.fr/wp-content/uploads/sites/21/2021/07/PRO-CONSULT-300x169.jpg");
22      expect(article.content).toBe("Stress ? Pas le moral ? Questions ou angoisses ? Problèmes familiaux ? Sentiment de solitude ? Difficultés dans tes études ?");
23    });
24  });