6 def assert_projects_same(backend1, backend2):
7 projects1 = list(backend1.get_projects())
10 projects2 = list(backend2.get_projects())
13 assert projects1 == projects2
16 def assert_locations_same(backend1, backend2):
17 locations1 = list(backend1.get_locations())
20 locations2 = list(backend2.get_locations())
23 assert locations1 == locations2
26 def assert_tasks_same(backend1, backend2, projId):
27 tasks1 = list(backend1.get_tasks_with_details(projId))
30 tasks2 = list(backend2.get_tasks_with_details(projId))
33 assert tasks1 == tasks2
36 def exercise_projects(backend):
38 PROJECT_1_NEW_NAME = "p1_1"
41 projects = list(backend.get_projects())
42 assert len(projects) == 0
45 proj1Id = backend.add_project(PROJECT_1_NAME)
47 proj = backend.get_project(proj1Id)
48 assert proj["name"] == PROJECT_1_NAME
49 assert proj["id"] == proj1Id
50 assert proj["isVisible"]
51 assert not proj["isMeta"]
53 projects = list(backend.get_projects())
54 assert len(projects) == 1
55 assert proj == projects[0]
57 lookupProj = backend.lookup_project(PROJECT_1_NAME)
58 assert proj == lookupProj
61 backend.set_project_name(proj1Id, PROJECT_1_NEW_NAME)
63 proj = backend.get_project(proj1Id)
64 assert proj["name"] == PROJECT_1_NEW_NAME
65 assert proj["id"] == proj1Id
66 assert proj["isVisible"]
67 assert not proj["isMeta"]
69 projects = list(backend.get_projects())
70 assert len(projects) == 1
71 assert proj == projects[0]
73 lookupProj = backend.lookup_project(PROJECT_1_NEW_NAME)
74 assert proj == lookupProj
76 # verify visibility/getters
77 backend.set_project_visibility(proj1Id, False)
79 proj = backend.get_project(proj1Id)
80 assert proj["name"] == PROJECT_1_NEW_NAME
81 assert proj["id"] == proj1Id
82 assert not proj["isVisible"]
83 assert not proj["isMeta"]
85 projects = list(backend.get_projects())
86 assert len(projects) == 1
87 assert proj == projects[0]
89 lookupProj = backend.lookup_project(PROJECT_1_NEW_NAME)
90 assert proj == lookupProj
92 # verify second project while modifying first
93 proj2Id = backend.add_project(PROJECT_2_NAME)
95 proj = backend.get_project(proj1Id)
96 assert proj["name"] == PROJECT_1_NEW_NAME
97 assert proj["id"] == proj1Id
98 assert not proj["isVisible"]
99 assert not proj["isMeta"]
101 lookupProj = backend.lookup_project(PROJECT_1_NEW_NAME)
102 assert proj == lookupProj
104 proj = backend.get_project(proj2Id)
105 assert proj["name"] == PROJECT_2_NAME
106 assert proj["id"] == proj2Id
107 assert proj["isVisible"]
108 assert not proj["isMeta"]
110 lookupProj = backend.lookup_project(PROJECT_2_NAME)
111 assert proj == lookupProj
113 backend.set_project_name(proj1Id, PROJECT_1_NAME)
115 proj = backend.get_project(proj1Id)
116 assert proj["name"] == PROJECT_1_NAME
117 assert proj["id"] == proj1Id
118 assert not proj["isVisible"]
119 assert not proj["isMeta"]
121 lookupProj = backend.lookup_project(PROJECT_1_NAME)
122 assert proj == lookupProj
124 proj = backend.get_project(proj2Id)
125 assert proj["name"] == PROJECT_2_NAME
126 assert proj["id"] == proj2Id
127 assert proj["isVisible"]
128 assert not proj["isMeta"]
130 lookupProj = backend.lookup_project(PROJECT_2_NAME)
131 assert proj == lookupProj
133 # verify visibility/getters
134 backend.set_project_visibility(proj1Id, True)
136 proj = backend.get_project(proj1Id)
137 assert proj["name"] == PROJECT_1_NAME
138 assert proj["id"] == proj1Id
139 assert proj["isVisible"]
140 assert not proj["isMeta"]
142 lookupProj = backend.lookup_project(PROJECT_1_NAME)
143 assert proj == lookupProj
145 proj = backend.get_project(proj2Id)
146 assert proj["name"] == PROJECT_2_NAME
147 assert proj["id"] == proj2Id
148 assert proj["isVisible"]
149 assert not proj["isMeta"]
151 lookupProj = backend.lookup_project(PROJECT_2_NAME)
152 assert proj == lookupProj
155 def exercise_locations(backend):
156 locations = list(backend.get_locations())
157 assert len(locations) == 0
160 def exercise_task(backend, proj1Id, proj2Id):
162 TASK_1_NEW_NAME = "t1_1"
163 TASK_1_DUEDATE = datetime.datetime.now()
166 proj1Tasks = list(backend.get_tasks_with_details(proj1Id))
167 assert len(proj1Tasks) == 0
168 proj2Tasks = list(backend.get_tasks_with_details(proj2Id))
169 assert len(proj2Tasks) == 0
171 taskId = backend.add_task(proj1Id, TASK_1_NAME)
172 task = backend.get_task_details(taskId)
173 assert task["name"] == TASK_1_NAME
174 assert task["projId"] == proj1Id
175 assert task["id"] == taskId
177 proj1Tasks = list(backend.get_tasks_with_details(proj1Id))
178 assert len(proj1Tasks) == 1
179 proj2Tasks = list(backend.get_tasks_with_details(proj2Id))
180 assert len(proj2Tasks) == 0
182 backend.set_name(taskId, TASK_1_NEW_NAME)
183 task = backend.get_task_details(taskId)
184 assert task["name"] == TASK_1_NEW_NAME
186 backend.set_duedate(taskId, TASK_1_DUEDATE)
187 task = backend.get_task_details(taskId)
188 assert task["dueDate"] == TASK_1_DUEDATE