|
12 | 12 |
|
13 | 13 | from django.db import transaction |
14 | 14 | from django.test import TestCase, override_settings |
| 15 | +from django.utils import timezone |
15 | 16 |
|
16 | 17 | from enterprise.constants import ENTERPRISE_ADMIN_ROLE, ENTERPRISE_LEARNER_ROLE |
17 | 18 | from enterprise.models import ( |
18 | 19 | EnterpriseCourseEnrollment, |
| 20 | + EnterpriseCustomer, |
19 | 21 | EnterpriseCustomerAdmin, |
20 | 22 | EnterpriseCustomerCatalog, |
21 | 23 | EnterpriseCustomerUser, |
@@ -415,6 +417,48 @@ def test_delete_pending_enterprise_admin_user(self): |
415 | 417 | ).delete() |
416 | 418 | self._assert_pending_ecus_exist(should_exist=False) |
417 | 419 |
|
| 420 | +@mark.django_db |
| 421 | +class TestEnterpriseCustomerAdminSignals(unittest.TestCase): |
| 422 | + """ |
| 423 | + Tests signals related to EnterpriseCustomerAdmin creation and field updates. |
| 424 | + """ |
| 425 | + |
| 426 | + def setUp(self): |
| 427 | + self.admin_user = UserFactory(email='user@example.com') |
| 428 | + self.enterprise_customer = EnterpriseCustomerFactory() |
| 429 | + |
| 430 | + self.ecu = EnterpriseCustomerUserFactory( |
| 431 | + user_fk=self.admin_user, |
| 432 | + user_id=self.admin_user.id, |
| 433 | + enterprise_customer=self.enterprise_customer, |
| 434 | + ) |
| 435 | + super().setUp() |
| 436 | + |
| 437 | + def test_invited_date_is_set_on_creation(self): |
| 438 | + pending_admin = PendingEnterpriseCustomerAdminUserFactory( |
| 439 | + enterprise_customer=self.ecu.enterprise_customer, |
| 440 | + user_email=self.ecu.user_email, |
| 441 | + invited_date=timezone.now() - timedelta(days=1) |
| 442 | + ) |
| 443 | + |
| 444 | + admin = EnterpriseCustomerAdmin.objects.create( |
| 445 | + enterprise_customer_user=self.ecu |
| 446 | + ) |
| 447 | + |
| 448 | + admin.refresh_from_db() |
| 449 | + self.assertIsNotNone(admin.invited_date) |
| 450 | + |
| 451 | + def test_joined_date_not_set_on_create(self): |
| 452 | + admin = EnterpriseCustomerAdmin( |
| 453 | + enterprise_customer_user=self.ecu |
| 454 | + ) |
| 455 | + self.assertIsNone(getattr(admin, 'joined_date', None)) |
| 456 | + |
| 457 | + def test_joined_date_set_when_admin_user_is_accepted(self): |
| 458 | + admin = EnterpriseCustomerAdmin.objects.create( |
| 459 | + enterprise_customer_user=self.ecu |
| 460 | + ) |
| 461 | + self.assertIsNotNone(admin.joined_date) |
418 | 462 |
|
419 | 463 | @mark.django_db |
420 | 464 | @ddt.ddt |
|
0 commit comments