|
15 | 15 | from .. import factories as f |
16 | 16 |
|
17 | 17 | from taiga.base.utils import json |
18 | | -from taiga.projects.choices import ArchivedCode |
| 18 | +from taiga.projects.choices import ArchivedCode, BLOCKED_BY_STAFF |
19 | 19 | from taiga.projects.history import services |
20 | 20 | from taiga.projects.history.models import HistoryEntry |
21 | 21 | from taiga.projects.history.choices import HistoryType |
@@ -249,6 +249,23 @@ def test_delete_comment_is_project_archived(client): |
249 | 249 | response = client.post(url, content_type="application/json") |
250 | 250 | assert 403 == response.status_code, response.status_code |
251 | 251 |
|
| 252 | +def test_delete_comment_is_project_blocked(client): |
| 253 | + project = f.create_project(blocked_code=BLOCKED_BY_STAFF) |
| 254 | + us = f.create_userstory(project=project) |
| 255 | + f.MembershipFactory.create(project=project, user=project.owner, is_admin=True) |
| 256 | + key = make_key_from_model_object(us) |
| 257 | + history_entry = f.HistoryEntryFactory.create(type=HistoryType.change, |
| 258 | + project=project, |
| 259 | + comment="testing", |
| 260 | + key=key, |
| 261 | + diff={}, |
| 262 | + user={"pk": project.owner.id}) |
| 263 | + |
| 264 | + client.login(project.owner) |
| 265 | + url = reverse("userstory-history-delete-comment", args=(us.id,)) |
| 266 | + url = "%s?id=%s" % (url, history_entry.id) |
| 267 | + response = client.post(url, content_type="application/json") |
| 268 | + assert 451 == response.status_code, response.status_code |
252 | 269 |
|
253 | 270 | def test_edit_comment(client): |
254 | 271 | project = f.create_project() |
@@ -282,6 +299,29 @@ def test_edit_comment(client): |
282 | 299 | assert history_entry.edit_comment_date != None |
283 | 300 | assert history_entry.comment_versions[0]["user"]["id"] == project.owner.id |
284 | 301 |
|
| 302 | +def test_edit_comment_with_project_blocked(client): |
| 303 | + project = f.create_project(blocked_code=BLOCKED_BY_STAFF) |
| 304 | + us = f.create_userstory(project=project) |
| 305 | + f.MembershipFactory.create(project=project, user=project.owner, is_admin=True) |
| 306 | + key = make_key_from_model_object(us) |
| 307 | + history_entry = f.HistoryEntryFactory.create(type=HistoryType.change, |
| 308 | + project=project, |
| 309 | + comment="testing", |
| 310 | + key=key, |
| 311 | + diff={}, |
| 312 | + user={"pk": project.owner.id}) |
| 313 | + |
| 314 | + history_entry_created_at = history_entry.created_at |
| 315 | + assert history_entry.comment_versions == None |
| 316 | + assert history_entry.edit_comment_date == None |
| 317 | + |
| 318 | + client.login(project.owner) |
| 319 | + url = reverse("userstory-history-edit-comment", args=(us.id,)) |
| 320 | + url = "%s?id=%s" % (url, history_entry.id) |
| 321 | + |
| 322 | + data = json.dumps({"comment": "testing update comment"}) |
| 323 | + response = client.post(url, data, content_type="application/json") |
| 324 | + assert 451 == response.status_code, response.status_code |
285 | 325 |
|
286 | 326 | def test_get_comment_versions(client): |
287 | 327 | project = f.create_project() |
|
0 commit comments