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}