|
43 | 43 | from course_discovery.apps.course_metadata.utils import ( |
44 | 44 | calculated_seat_upgrade_deadline, clean_html, convert_svg_to_png_from_url, create_missing_entitlement, |
45 | 45 | download_and_save_course_image, download_and_save_program_image, ensure_draft_world, fetch_getsmarter_products, |
46 | | - is_google_drive_url, serialize_entitlement_for_ecommerce_api, serialize_seat_for_ecommerce_api, |
| 46 | + generate_sku, is_google_drive_url, serialize_entitlement_for_ecommerce_api, serialize_seat_for_ecommerce_api, |
47 | 47 | transform_skills_data, validate_slug_format |
48 | 48 | ) |
49 | 49 |
|
@@ -1676,3 +1676,34 @@ def test_validate_slug_format__raise_exception_for_bootcamp_course(self, slug, i |
1676 | 1676 | expected_error_message = expected_error_message.format(url_slug=slug) |
1677 | 1677 | actual_error_message = str(context.exception) |
1678 | 1678 | self.assertIn(expected_error_message, actual_error_message) |
| 1679 | + |
| 1680 | + |
| 1681 | +@ddt.ddt |
| 1682 | +class ValidateDummySKU(TestCase): |
| 1683 | + """ |
| 1684 | + Test suite for validate generated Dummy SKU by generate_sku method |
| 1685 | + """ |
| 1686 | + def test_generate_sku_with_partner(self): |
| 1687 | + partner = mock.Mock(id=101) |
| 1688 | + course = mock.Mock(uuid='abc-uuid') |
| 1689 | + sku = generate_sku(partner=partner, course=course) |
| 1690 | + self.assertIsInstance(sku, str) |
| 1691 | + self.assertEqual(len(sku), 7) |
| 1692 | + |
| 1693 | + def test_generate_sku_without_partner(self): |
| 1694 | + course = mock.Mock(uuid='abc-uuid', key='course-key') |
| 1695 | + sku = generate_sku(partner=None, course=course) |
| 1696 | + self.assertIsInstance(sku, str) |
| 1697 | + self.assertEqual(len(sku), 7) |
| 1698 | + |
| 1699 | + def test_generate_sku_invalid_combination(self): |
| 1700 | + partner = mock.Mock(id=None) |
| 1701 | + course = mock.Mock(uuid='abc-uuid') |
| 1702 | + with self.assertRaises(ValidationError) as context: |
| 1703 | + generate_sku(partner=partner, course=course) |
| 1704 | + self.assertIn("Unexpected combition SKU", str(context.exception)) |
| 1705 | + |
| 1706 | + def test_generate_sku_missing_course(self): |
| 1707 | + partner = mock.Mock(id=101) |
| 1708 | + with self.assertRaises(ValidationError): |
| 1709 | + generate_sku(partner=partner, course=None) |
0 commit comments