Fix more tests

remotes/origin/enhancement/email-actions
David Barragán Merino 2014-05-16 12:33:38 +02:00
parent 3d7d660ab2
commit 43e4ff78b6
10 changed files with 23 additions and 75 deletions

View File

@ -141,7 +141,7 @@ def task_values(diff):
return values return values
def wiki_values(diff): def wikipage_values(diff):
values = _common_users_values(diff) values = _common_users_values(diff)
return values return values
@ -248,12 +248,12 @@ def task_freezer(task) -> dict:
return snapshot return snapshot
def wiki_freezer(wiki) -> dict: def wikipage_freezer(wiki) -> dict:
snapshot = { snapshot = {
"slug": wiki.slug, "slug": wiki.slug,
"owner": wiki.owner_id, "owner": wiki.owner_id,
"content": wiki.content, "content": wiki.content,
"content_home": mdrender(wiki.project, wiki.content), "content_html": mdrender(wiki.project, wiki.content),
"watchers": [x.pk for x in wiki.watchers.all()], "watchers": [x.pk for x in wiki.watchers.all()],
"attachments": extract_attachments(wiki), "attachments": extract_attachments(wiki),
} }

View File

@ -75,3 +75,4 @@ class Command(BaseCommand):
self.handle_generic_model("tasks", "Task") self.handle_generic_model("tasks", "Task")
self.handle_generic_model("userstories", "UserStory") self.handle_generic_model("userstories", "UserStory")
self.handle_generic_model("issues", "Issue") self.handle_generic_model("issues", "Issue")
self.handle_generic_model("wiki", "WikiPage")

View File

@ -272,22 +272,22 @@ from .freeze_impl import milestone_freezer
from .freeze_impl import userstory_freezer from .freeze_impl import userstory_freezer
from .freeze_impl import issue_freezer from .freeze_impl import issue_freezer
from .freeze_impl import task_freezer from .freeze_impl import task_freezer
from .freeze_impl import wiki_freezer from .freeze_impl import wikipage_freezer
register_freeze_implementation(milestone_freezer, typename="milestones.milestone") register_freeze_implementation(milestone_freezer, typename="milestones.milestone")
register_freeze_implementation(userstory_freezer, typename="userstories.userstory") register_freeze_implementation(userstory_freezer, typename="userstories.userstory")
register_freeze_implementation(issue_freezer, typename="issues.issue") register_freeze_implementation(issue_freezer, typename="issues.issue")
register_freeze_implementation(task_freezer, typename="tasks.task") register_freeze_implementation(task_freezer, typename="tasks.task")
register_freeze_implementation(wiki_freezer, typename="wiki.wiki") register_freeze_implementation(wikipage_freezer, typename="wiki.wikipage")
from .freeze_impl import milestone_values from .freeze_impl import milestone_values
from .freeze_impl import userstory_values from .freeze_impl import userstory_values
from .freeze_impl import issue_values from .freeze_impl import issue_values
from .freeze_impl import task_values from .freeze_impl import task_values
from .freeze_impl import wiki_values from .freeze_impl import wikipage_values
register_values_implementation(milestone_values, typename="milestones.milestone") register_values_implementation(milestone_values, typename="milestones.milestone")
register_values_implementation(userstory_values, typename="userstories.userstory") register_values_implementation(userstory_values, typename="userstories.userstory")
register_values_implementation(issue_values, typename="issues.issue") register_values_implementation(issue_values, typename="issues.issue")
register_values_implementation(task_values, typename="tasks.task") register_values_implementation(task_values, typename="tasks.task")
register_values_implementation(wiki_values, typename="wiki.wiki") register_values_implementation(wikipage_values, typename="wiki.wikipage")

View File

@ -65,22 +65,6 @@ class Issue(NeighborsMixin, WatchedMixin, BlockedMixin, models.Model):
tags = PickledObjectField(null=False, blank=True, verbose_name=_("tags")) tags = PickledObjectField(null=False, blank=True, verbose_name=_("tags"))
attachments = generic.GenericRelation("attachments.Attachment") attachments = generic.GenericRelation("attachments.Attachment")
notifiable_fields = [
"subject",
"milestone",
"owner",
"assigned_to",
"finished_date",
"type",
"status",
"severity",
"priority",
"tags",
"description",
"is_blocked",
"blocked_comment"
]
class Meta: class Meta:
verbose_name = "issue" verbose_name = "issue"
verbose_name_plural = "issues" verbose_name_plural = "issues"

View File

@ -53,15 +53,6 @@ class Milestone(WatchedMixin, models.Model):
order = models.PositiveSmallIntegerField(default=1, null=False, blank=False, order = models.PositiveSmallIntegerField(default=1, null=False, blank=False,
verbose_name=_("order")) verbose_name=_("order"))
notifiable_fields = [
"name",
"owner",
"disponibility",
"closed",
"estimated_start",
"estimated_finish",
]
class Meta: class Meta:
verbose_name = "milestone" verbose_name = "milestone"
verbose_name_plural = "milestones" verbose_name_plural = "milestones"

View File

@ -162,13 +162,6 @@ class Project(ProjectDefaults, models.Model):
domain = models.ForeignKey("domains.Domain", related_name="projects", null=True, blank=True, domain = models.ForeignKey("domains.Domain", related_name="projects", null=True, blank=True,
default=None, verbose_name=_("domain")) default=None, verbose_name=_("domain"))
notifiable_fields = [
"name",
"total_milestones",
"total_story_points",
"description"
]
class Meta: class Meta:
verbose_name = "project" verbose_name = "project"
verbose_name_plural = "projects" verbose_name_plural = "projects"

View File

@ -63,19 +63,6 @@ class Task(WatchedMixin, BlockedMixin):
is_iocaine = models.BooleanField(default=False, null=False, blank=True, is_iocaine = models.BooleanField(default=False, null=False, blank=True,
verbose_name=_("is iocaine")) verbose_name=_("is iocaine"))
notifiable_fields = [
"subject",
"owner",
"assigned_to",
"finished_date",
"is_iocaine",
"status",
"description",
"tags",
"is_blocked",
"blocked_comment"
]
class Meta: class Meta:
verbose_name = "task" verbose_name = "task"
verbose_name_plural = "tasks" verbose_name_plural = "tasks"

View File

@ -97,23 +97,6 @@ class UserStory(NeighborsMixin, WatchedMixin, BlockedMixin, models.Model):
related_name="generated_user_stories", related_name="generated_user_stories",
verbose_name=_("generated from issue")) verbose_name=_("generated from issue"))
notifiable_fields = [
"subject",
"milestone",
"owner",
"assigned_to",
"finish_date",
"client_requirement",
"team_requirement",
"status",
"points",
"tags",
"description",
"is_blocked",
"blocked_comment",
"generated_from_isssue"
]
class Meta: class Meta:
verbose_name = "user story" verbose_name = "user story"
verbose_name_plural = "user stories" verbose_name_plural = "user stories"

View File

@ -18,9 +18,10 @@ from django.db import models
from django.contrib.contenttypes import generic from django.contrib.contenttypes import generic
from django.conf import settings from django.conf import settings
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from taiga.projects.notifications.models import WatchedMixin
class WikiPage(models.Model): class WikiPage(WatchedMixin, models.Model):
project = models.ForeignKey("projects.Project", null=False, blank=False, project = models.ForeignKey("projects.Project", null=False, blank=False,
related_name="wiki_pages", verbose_name=_("project")) related_name="wiki_pages", verbose_name=_("project"))
slug = models.SlugField(max_length=500, db_index=True, null=False, blank=False, slug = models.SlugField(max_length=500, db_index=True, null=False, blank=False,
@ -50,6 +51,14 @@ class WikiPage(models.Model):
def __str__(self): def __str__(self):
return "project {0} - {1}".format(self.project_id, self.slug) return "project {0} - {1}".format(self.project_id, self.slug)
def _get_watchers_by_role(self):
return {
"owner": self.owner,
"assigned_to": None,
"suscribed_watchers": self.watchers.all(),
"project": self.project,
}
class WikiLink(models.Model): class WikiLink(models.Model):
project = models.ForeignKey("projects.Project", null=False, blank=False, project = models.ForeignKey("projects.Project", null=False, blank=False,

View File

@ -159,7 +159,7 @@ class WikiPagesTestCase(test.TestCase):
content_type="application/json") content_type="application/json")
self.assertEqual(response.status_code, 201) self.assertEqual(response.status_code, 201)
self.assertEqual(WikiPage.objects.all().count(), 3) self.assertEqual(WikiPage.objects.all().count(), 3)
self.assertEqual(len(mail.outbox), 0) self.assertEqual(len(mail.outbox), 2)
self.client.logout() self.client.logout()
def test_create_wiki_page_by_membership(self): def test_create_wiki_page_by_membership(self):
@ -180,7 +180,7 @@ class WikiPagesTestCase(test.TestCase):
content_type="application/json") content_type="application/json")
self.assertEqual(response.status_code, 201) self.assertEqual(response.status_code, 201)
self.assertEqual(WikiPage.objects.all().count(), 3) self.assertEqual(WikiPage.objects.all().count(), 3)
self.assertEqual(len(mail.outbox), 0) self.assertEqual(len(mail.outbox), 2)
self.client.logout() self.client.logout()
def test_create_wiki_page_by_membership_with_wron_project(self): def test_create_wiki_page_by_membership_with_wron_project(self):
@ -254,7 +254,7 @@ class WikiPagesTestCase(test.TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
self.assertEqual(data["content"], response.data["content"]) self.assertEqual(data["content"], response.data["content"])
self.assertEqual(WikiPage.objects.all().count(), 2) self.assertEqual(WikiPage.objects.all().count(), 2)
self.assertEqual(len(mail.outbox), 0) self.assertEqual(len(mail.outbox), 2)
self.client.logout() self.client.logout()
def test_edit_wiki_page_by_project_owner_with_wron_project(self): def test_edit_wiki_page_by_project_owner_with_wron_project(self):
@ -292,7 +292,7 @@ class WikiPagesTestCase(test.TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
self.assertEqual(data["content"], response.data["content"]) self.assertEqual(data["content"], response.data["content"])
self.assertEqual(WikiPage.objects.all().count(), 2) self.assertEqual(WikiPage.objects.all().count(), 2)
self.assertEqual(len(mail.outbox), 0) self.assertEqual(len(mail.outbox), 2)
self.client.logout() self.client.logout()
def test_edit_wiki_page_by_owner_with_wron_project(self): def test_edit_wiki_page_by_owner_with_wron_project(self):
@ -330,7 +330,7 @@ class WikiPagesTestCase(test.TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
self.assertEqual(data["content"], response.data["content"]) self.assertEqual(data["content"], response.data["content"])
self.assertEqual(WikiPage.objects.all().count(), 2) self.assertEqual(WikiPage.objects.all().count(), 2)
self.assertEqual(len(mail.outbox), 0) self.assertEqual(len(mail.outbox), 2)
self.client.logout() self.client.logout()
def test_edit_wiki_page_by_membership_with_wron_project(self): def test_edit_wiki_page_by_membership_with_wron_project(self):