Improve tasks and backdate insights
This commit is contained in:
113
core/tests/test_tasks_pages_management.py
Normal file
113
core/tests/test_tasks_pages_management.py
Normal file
@@ -0,0 +1,113 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from django.test import TestCase
|
||||
from django.urls import reverse
|
||||
|
||||
from core.models import ChatTaskSource, TaskEpic, TaskProject, User
|
||||
|
||||
|
||||
class TasksPagesManagementTests(TestCase):
|
||||
def setUp(self):
|
||||
self.user = User.objects.create_user("tasks-pages-user", "tasks-pages@example.com", "x")
|
||||
self.client.force_login(self.user)
|
||||
|
||||
def test_tasks_hub_requires_group_scope_for_project_create(self):
|
||||
create_response = self.client.post(
|
||||
reverse("tasks_hub"),
|
||||
{
|
||||
"action": "project_create",
|
||||
"name": "Ops",
|
||||
},
|
||||
follow=True,
|
||||
)
|
||||
self.assertEqual(200, create_response.status_code)
|
||||
self.assertFalse(TaskProject.objects.filter(user=self.user, name="Ops").exists())
|
||||
|
||||
def test_tasks_hub_can_create_scoped_project_and_delete(self):
|
||||
create_response = self.client.post(
|
||||
reverse("tasks_hub"),
|
||||
{
|
||||
"action": "project_create",
|
||||
"name": "Ops",
|
||||
"service": "whatsapp",
|
||||
"channel_identifier": "120363402761690215@g.us",
|
||||
},
|
||||
follow=True,
|
||||
)
|
||||
self.assertEqual(200, create_response.status_code)
|
||||
project = TaskProject.objects.get(user=self.user, name="Ops")
|
||||
self.assertIsNotNone(project)
|
||||
self.assertTrue(
|
||||
ChatTaskSource.objects.filter(
|
||||
user=self.user,
|
||||
service="whatsapp",
|
||||
channel_identifier="120363402761690215@g.us",
|
||||
project=project,
|
||||
).exists()
|
||||
)
|
||||
|
||||
delete_response = self.client.post(
|
||||
reverse("tasks_hub"),
|
||||
{
|
||||
"action": "project_delete",
|
||||
"project_id": str(project.id),
|
||||
},
|
||||
follow=True,
|
||||
)
|
||||
self.assertEqual(200, delete_response.status_code)
|
||||
self.assertFalse(TaskProject.objects.filter(user=self.user, name="Ops").exists())
|
||||
|
||||
def test_project_page_can_create_and_delete_epic(self):
|
||||
project = TaskProject.objects.create(user=self.user, name="Roadmap")
|
||||
create_response = self.client.post(
|
||||
reverse("tasks_project", kwargs={"project_id": str(project.id)}),
|
||||
{
|
||||
"action": "epic_create",
|
||||
"name": "Phase 1",
|
||||
},
|
||||
follow=True,
|
||||
)
|
||||
self.assertEqual(200, create_response.status_code)
|
||||
epic = TaskEpic.objects.get(project=project, name="Phase 1")
|
||||
self.assertIsNotNone(epic)
|
||||
|
||||
delete_response = self.client.post(
|
||||
reverse("tasks_project", kwargs={"project_id": str(project.id)}),
|
||||
{
|
||||
"action": "epic_delete",
|
||||
"epic_id": str(epic.id),
|
||||
},
|
||||
follow=True,
|
||||
)
|
||||
self.assertEqual(200, delete_response.status_code)
|
||||
self.assertFalse(TaskEpic.objects.filter(project=project, name="Phase 1").exists())
|
||||
|
||||
def test_group_page_create_and_map_project(self):
|
||||
response = self.client.post(
|
||||
reverse(
|
||||
"tasks_group",
|
||||
kwargs={
|
||||
"service": "whatsapp",
|
||||
"identifier": "120363402761690215@g.us",
|
||||
},
|
||||
),
|
||||
{
|
||||
"action": "group_project_create",
|
||||
"project_name": "Group Project",
|
||||
"epic_name": "Sprint A",
|
||||
},
|
||||
follow=True,
|
||||
)
|
||||
self.assertEqual(200, response.status_code)
|
||||
project = TaskProject.objects.get(user=self.user, name="Group Project")
|
||||
epic = TaskEpic.objects.get(project=project, name="Sprint A")
|
||||
self.assertTrue(
|
||||
ChatTaskSource.objects.filter(
|
||||
user=self.user,
|
||||
service="whatsapp",
|
||||
channel_identifier="120363402761690215@g.us",
|
||||
project=project,
|
||||
epic=epic,
|
||||
enabled=True,
|
||||
).exists()
|
||||
)
|
||||
Reference in New Issue
Block a user