|
1 | 1 | import json
|
2 |
| -from datetime import datetime, timedelta |
| 2 | +from datetime import ( |
| 3 | + datetime, |
| 4 | + timedelta, |
| 5 | +) |
3 | 6 |
|
4 | 7 | import pytz
|
5 | 8 | import responses
|
|
13 | 16 | from rest_framework import status
|
14 | 17 | from rest_framework.test import APIClient
|
15 | 18 |
|
16 |
| -from blitz_api.factories import AdminFactory, UserFactory |
| 19 | +from blitz_api.factories import ( |
| 20 | + AdminFactory, |
| 21 | + UserFactory, |
| 22 | +) |
| 23 | +from blitz_api.models import AcademicLevel |
17 | 24 | from blitz_api.testing_tools import CustomAPITestCase
|
| 25 | +from store.models import Membership |
18 | 26 |
|
19 |
| -from ..models import Retreat, RetreatType, RetreatDate |
| 27 | +from retirement.models import ( |
| 28 | + Retreat, |
| 29 | + RetreatType, |
| 30 | + RetreatDate, |
| 31 | +) |
20 | 32 |
|
21 | 33 | User = get_user_model()
|
22 | 34 |
|
@@ -186,6 +198,17 @@ def setUp(self):
|
186 | 198 | )
|
187 | 199 | self.retreat_hidden.activate()
|
188 | 200 |
|
| 201 | + self.academic_level = AcademicLevel.objects.create( |
| 202 | + name="University" |
| 203 | + ) |
| 204 | + self.membership = Membership.objects.create( |
| 205 | + name="basic_membership", |
| 206 | + details="1-Year student membership", |
| 207 | + price=50, |
| 208 | + available=True, |
| 209 | + duration=timedelta(days=365), |
| 210 | + ) |
| 211 | + |
189 | 212 | @override_settings(
|
190 | 213 | EXTERNAL_SCHEDULER={
|
191 | 214 | 'URL': "http://example.com",
|
@@ -462,6 +485,12 @@ def test_create_batch_retreat(self):
|
462 | 485 | 'retreat:retreattype-detail',
|
463 | 486 | args=[self.retreatType.id]
|
464 | 487 | ),
|
| 488 | + 'exclusive_memberships': [ |
| 489 | + reverse( |
| 490 | + 'membership-detail', |
| 491 | + args=[self.membership.id] |
| 492 | + ) |
| 493 | + ], |
465 | 494 | 'bulk_start_time': '2021-03-01T08:00:00Z',
|
466 | 495 | 'bulk_end_time': '2021-03-30T12:00:00Z',
|
467 | 496 | 'weekdays': [0, 1, 2]
|
@@ -506,6 +535,15 @@ def test_create_batch_retreat(self):
|
506 | 535 |
|
507 | 536 | for item in content:
|
508 | 537 | self.assertEqual(item['name'][-2:], 'AM', item)
|
| 538 | + self.assertEqual( |
| 539 | + item['exclusive_memberships'], |
| 540 | + [ |
| 541 | + 'http://testserver' + reverse( |
| 542 | + 'membership-detail', |
| 543 | + args=[self.membership.id] |
| 544 | + ) |
| 545 | + ], |
| 546 | + ) |
509 | 547 | self.check_attributes(item, attributes)
|
510 | 548 |
|
511 | 549 | @override_settings(
|
|
0 commit comments