todolist_test.gno
1.28 Kb ยท 58 lines
1package todolist
2
3import (
4 "std"
5 "testing"
6
7 "gno.land/p/demo/uassert"
8)
9
10func TestNewTodoList(t *testing.T) {
11 title := "My Todo List"
12 todoList := NewTodoList(title)
13
14 uassert.Equal(t, title, todoList.GetTodolistTitle())
15 uassert.Equal(t, 0, len(todoList.GetTasks()))
16 uassert.Equal(t, std.OriginCaller().String(), todoList.GetTodolistOwner().String())
17}
18
19func TestNewTask(t *testing.T) {
20 title := "My Task"
21 task := NewTask(title)
22
23 uassert.Equal(t, title, task.Title)
24 uassert.False(t, task.Done, "Expected task to be not done, but it is done")
25}
26
27func TestAddTask(t *testing.T) {
28 todoList := NewTodoList("My Todo List")
29 task := NewTask("My Task")
30
31 todoList.AddTask(1, task)
32
33 tasks := todoList.GetTasks()
34
35 uassert.Equal(t, 1, len(tasks))
36 uassert.True(t, tasks[0] == task, "Task does not match")
37}
38
39func TestToggleTaskStatus(t *testing.T) {
40 task := NewTask("My Task")
41
42 ToggleTaskStatus(task)
43 uassert.True(t, task.Done, "Expected task to be done, but it is not done")
44
45 ToggleTaskStatus(task)
46 uassert.False(t, task.Done, "Expected task to be done, but it is not done")
47}
48
49func TestRemoveTask(t *testing.T) {
50 todoList := NewTodoList("My Todo List")
51 task := NewTask("My Task")
52 todoList.AddTask(1, task)
53
54 todoList.RemoveTask("1")
55
56 tasks := todoList.GetTasks()
57 uassert.Equal(t, 0, len(tasks))
58}