-
Notifications
You must be signed in to change notification settings - Fork 23.2k
/
message_model.test.js
49 lines (46 loc) · 1.76 KB
/
message_model.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import { describe, expect, test } from "@odoo/hoot";
import { defineMailModels, start } from "../mail_test_helpers";
import { serializeDateTime, deserializeDateTime } from "@web/core/l10n/dates";
import { serverState } from "@web/../tests/web_test_helpers";
describe.current.tags("desktop");
defineMailModels();
test("Message model properties", async () => {
const env = await start();
env.services["mail.store"].Store.insert({
self: { id: serverState.partnerId, type: "partner" },
});
env.services["mail.store"].Thread.insert({
id: serverState.partnerId,
model: "res.partner",
name: "general",
});
/** @type {import("models").Message} */
const message = env.services["mail.store"].Message.insert({
attachments: [
{
filename: "test.txt",
id: 750,
mimetype: "text/plain",
name: "test.txt",
},
],
author: { id: 5, displayName: "Demo" },
body: "<p>Test</p>",
date: deserializeDateTime("2019-05-05 10:00:00"),
id: 4000,
needaction_partner_ids: [serverState.partnerId],
isStarred: true,
model: "res.partner",
thread: { id: serverState.partnerId, model: "res.partner" },
res_id: serverState.partnerId,
});
expect(message.isNeedaction).toBe(true);
expect(message.body).toBe("<p>Test</p>");
expect(serializeDateTime(message.date)).toBe("2019-05-05 10:00:00");
expect(message.id).toBe(4000);
expect(message.attachments[0].name).toBe("test.txt");
expect(message.thread.id).toBe(serverState.partnerId);
expect(message.thread.name).toBe("general");
expect(message.author.id).toBe(5);
expect(message.author.displayName).toBe("Demo");
});