290 lines
8.8 KiB
Python
290 lines
8.8 KiB
Python
from datetime import datetime, timedelta
|
|
|
|
from django.test import TestCase
|
|
from django.test.utils import override_settings
|
|
|
|
from accounts.tests import AccountCreateTest
|
|
from cases.tests import CaseCreation
|
|
from common.models import Comment, User
|
|
from common.tasks import (
|
|
resend_activation_link_to_user,
|
|
send_email_to_new_user,
|
|
send_email_user_delete,
|
|
send_email_user_mentions,
|
|
send_email_user_status,
|
|
)
|
|
from common.tests import ObjectsCreation
|
|
from contacts.tests import ContactObjectsCreation
|
|
from invoices.tests import InvoiceCreateTest
|
|
from leads.tests import TestLeadModel
|
|
from opportunity.tests import OpportunityModel
|
|
from tasks.tests import TaskCreateTest
|
|
|
|
|
|
class TestCeleryTasks(ObjectsCreation, TestCase):
|
|
@override_settings(
|
|
CELERY_EAGER_PROPAGATES_EXCEPTIONS=True,
|
|
CELERY_ALWAYS_EAGER=True,
|
|
BROKER_BACKEND="memory",
|
|
)
|
|
def test_celery_tasks(self):
|
|
task = send_email_to_new_user.apply(
|
|
(
|
|
self.user1.email,
|
|
self.user.email,
|
|
),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|
|
|
|
task = send_email_user_status.apply(
|
|
(
|
|
self.user1.id,
|
|
self.user.id,
|
|
),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|
|
|
|
self.user1.is_active = False
|
|
self.user1.has_sales_access = False
|
|
self.user1.has_marketing_access = True
|
|
self.user1.save()
|
|
|
|
task = send_email_user_status.apply(
|
|
(self.user1.id,),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|
|
|
|
self.user1.is_active = True
|
|
self.user1.has_sales_access = False
|
|
self.user1.has_marketing_access = False
|
|
self.user1.save()
|
|
|
|
task = send_email_user_status.apply(
|
|
(self.user1.id,),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|
|
|
|
task = send_email_user_delete.apply(
|
|
(self.user1.email,),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|
|
|
|
task = resend_activation_link_to_user.apply(
|
|
(self.user1.email,),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|
|
|
|
task = resend_activation_link_to_user.apply(
|
|
(self.user1.email,),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|
|
|
|
|
|
class TestUserMentionsForAccountComments(AccountCreateTest, TestCase):
|
|
@override_settings(
|
|
CELERY_EAGER_PROPAGATES_EXCEPTIONS=True,
|
|
CELERY_ALWAYS_EAGER=True,
|
|
BROKER_BACKEND="memory",
|
|
)
|
|
def test_user_mentions_for_account_comment(self):
|
|
self.user_comment = User.objects.create(
|
|
first_name="johnComment",
|
|
username="johnDoeComment",
|
|
email="johnDoeComment@example.com",
|
|
role="ADMIN",
|
|
)
|
|
self.user_comment.set_password("password")
|
|
self.user_comment.save()
|
|
|
|
self.comment.comment = "content @{}".format(self.user_comment.username)
|
|
self.comment.account = self.account
|
|
self.comment.save()
|
|
|
|
task = send_email_user_mentions.apply(
|
|
(
|
|
self.comment.id,
|
|
"accounts",
|
|
str(self.comment.org.id),
|
|
),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|
|
|
|
|
|
class TestUserMentionsForContactsComments(ContactObjectsCreation, TestCase):
|
|
@override_settings(
|
|
CELERY_EAGER_PROPAGATES_EXCEPTIONS=True,
|
|
CELERY_ALWAYS_EAGER=True,
|
|
BROKER_BACKEND="memory",
|
|
)
|
|
def test_user_mentions_for_contacts_comments(self):
|
|
self.user_comment = User.objects.create(
|
|
first_name="johnComment",
|
|
username="johnDoeComment",
|
|
email="johnDoeComment@example.com",
|
|
role="ADMIN",
|
|
)
|
|
self.user_comment.set_password("password")
|
|
self.user_comment.save()
|
|
|
|
self.comment.comment = "content @{}".format(self.user_comment.username)
|
|
self.comment.contact = self.contact
|
|
self.comment.save()
|
|
|
|
task = send_email_user_mentions.apply(
|
|
(
|
|
self.comment.id,
|
|
"contacts",
|
|
str(self.comment.org.id),
|
|
),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|
|
|
|
|
|
class TestUserMentionsForLeadsComments(TestLeadModel, TestCase):
|
|
@override_settings(
|
|
CELERY_EAGER_PROPAGATES_EXCEPTIONS=True,
|
|
CELERY_ALWAYS_EAGER=True,
|
|
BROKER_BACKEND="memory",
|
|
)
|
|
def test_user_mentions_for_leads_comments(self):
|
|
self.user_comment = User.objects.create(
|
|
first_name="johnComment",
|
|
username="johnDoeComment",
|
|
email="johnDoeComment@example.com",
|
|
role="ADMIN",
|
|
)
|
|
self.user_comment.set_password("password")
|
|
self.user_comment.save()
|
|
|
|
self.comment.comment = "content @{}".format(self.user_comment.username)
|
|
self.comment.lead = self.lead
|
|
self.comment.save()
|
|
|
|
task = send_email_user_mentions.apply(
|
|
(
|
|
self.comment.id,
|
|
"leads",
|
|
str(self.comment.org.id),
|
|
),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|
|
|
|
|
|
class TestUserMentionsForOpportunityComments(OpportunityModel, TestCase):
|
|
@override_settings(
|
|
CELERY_EAGER_PROPAGATES_EXCEPTIONS=True,
|
|
CELERY_ALWAYS_EAGER=True,
|
|
BROKER_BACKEND="memory",
|
|
)
|
|
def test_user_mentions_for_opportunity_comments(self):
|
|
self.user_comment = User.objects.create(
|
|
first_name="johnComment",
|
|
username="johnDoeComment",
|
|
email="johnDoeComment@example.com",
|
|
role="ADMIN",
|
|
)
|
|
self.user_comment.set_password("password")
|
|
self.user_comment.save()
|
|
|
|
self.comment.comment = "content @{}".format(self.user_comment.username)
|
|
self.comment.opportunity = self.opportunity
|
|
self.comment.save()
|
|
|
|
task = send_email_user_mentions.apply(
|
|
(
|
|
self.comment.id,
|
|
"opportunity",
|
|
str(self.comment.org.id),
|
|
),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|
|
|
|
|
|
class TestUserMentionsForCasesComments(CaseCreation, TestCase):
|
|
@override_settings(
|
|
CELERY_EAGER_PROPAGATES_EXCEPTIONS=True,
|
|
CELERY_ALWAYS_EAGER=True,
|
|
BROKER_BACKEND="memory",
|
|
)
|
|
def test_user_mentions_for_cases_comments(self):
|
|
self.user_comment = User.objects.create(
|
|
first_name="johnComment",
|
|
username="johnDoeComment",
|
|
email="johnDoeComment@example.com",
|
|
role="ADMIN",
|
|
)
|
|
self.user_comment.set_password("password")
|
|
self.user_comment.save()
|
|
|
|
self.comment.comment = "content @{}".format(self.user_comment.username)
|
|
self.comment.case = self.case
|
|
self.comment.save()
|
|
|
|
task = send_email_user_mentions.apply(
|
|
(
|
|
self.comment.id,
|
|
"cases",
|
|
str(self.comment.org.id),
|
|
),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|
|
|
|
|
|
class TestUserMentionsForTasksComments(TaskCreateTest, TestCase):
|
|
@override_settings(
|
|
CELERY_EAGER_PROPAGATES_EXCEPTIONS=True,
|
|
CELERY_ALWAYS_EAGER=True,
|
|
BROKER_BACKEND="memory",
|
|
)
|
|
def test_user_mentions_for_tasks_comments(self):
|
|
self.user_comment = User.objects.create(
|
|
first_name="johnComment",
|
|
username="johnDoeComment",
|
|
email="johnDoeComment@example.com",
|
|
role="ADMIN",
|
|
)
|
|
self.user_comment.set_password("password")
|
|
self.user_comment.save()
|
|
|
|
self.comment.comment = "content @{}".format(self.user_comment.username)
|
|
self.comment.task = self.task
|
|
self.comment.save()
|
|
|
|
task = send_email_user_mentions.apply(
|
|
(
|
|
self.comment.id,
|
|
"tasks",
|
|
str(self.comment.org.id),
|
|
),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|
|
|
|
|
|
class TestUserMentionsForInvoiceComments(InvoiceCreateTest, TestCase):
|
|
@override_settings(
|
|
CELERY_EAGER_PROPAGATES_EXCEPTIONS=True,
|
|
CELERY_ALWAYS_EAGER=True,
|
|
BROKER_BACKEND="memory",
|
|
)
|
|
def test_user_mentions_for_invoice_comments(self):
|
|
self.user_comment = User.objects.create(
|
|
first_name="johnComment",
|
|
username="johnDoeComment",
|
|
email="johnDoeComment@example.com",
|
|
role="ADMIN",
|
|
)
|
|
self.user_comment.set_password("password")
|
|
self.user_comment.save()
|
|
|
|
self.comment.comment = "content @{}".format(self.user_comment.username)
|
|
self.comment.invoice = self.invoice
|
|
self.comment.save()
|
|
|
|
task = send_email_user_mentions.apply(
|
|
(
|
|
self.comment.id,
|
|
"invoices",
|
|
str(self.comment.org.id),
|
|
),
|
|
)
|
|
self.assertEqual("SUCCESS", task.state)
|