-
Notifications
You must be signed in to change notification settings - Fork 0
/
todo_test.js
57 lines (46 loc) · 1.35 KB
/
todo_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
50
51
52
53
54
55
56
57
import Todo from "./todo";
import QUnit from "steal-qunit";
import fixture from "can-fixture";
QUnit.module("Todo Model", function (hooks) {
const noop = () => {};
let todo1;
hooks.beforeEach(() => {
todo1 = new Todo({
id: 1,
task: "Initial Task 1"
});
todo1.on("_serialize", noop);
});
hooks.afterEach(() => {
//If the next line is removed the test works fine
todo1 && todo1.off("_serialize", noop);
todo1 = undefined;
});
QUnit.test("Test 1", assert => {
const done = assert.async();
fixture("GET /service/todos", [{
id: 1,
task: "Task 1"
}]);
Todo.getList().then(todos => {
assert.equal(todo1.task, todos[0].task, "Task updated");
assert.equal(todo1, todos[0], "Task updated");
done();
});
});
QUnit.test("Test 2", assert => {
const done = assert.async();
const ExpectedTodos = [{
id: 1,
task: "Task 1 Updated"
}, {
id: 2,
task: "Task 2 Updated"
}];
fixture("GET /service/todos", ExpectedTodos);
Todo.getList().then(todosResult => {
assert.deepEqual(todosResult.serialize(), ExpectedTodos, "should be equal");
done();
});
});
});