Skip to content

Commit 3e363f1

Browse files
authored
Merge pull request #950 from FJNR-inc/develop
New feature
2 parents 9f18879 + 3760116 commit 3e363f1

File tree

2 files changed

+43
-3
lines changed

2 files changed

+43
-3
lines changed

retirement/tests/tests_viewset_Retreat.py

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
import json
2-
from datetime import datetime, timedelta
2+
from datetime import (
3+
datetime,
4+
timedelta,
5+
)
36

47
import pytz
58
import responses
@@ -13,10 +16,19 @@
1316
from rest_framework import status
1417
from rest_framework.test import APIClient
1518

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
1724
from blitz_api.testing_tools import CustomAPITestCase
25+
from store.models import Membership
1826

19-
from ..models import Retreat, RetreatType, RetreatDate
27+
from retirement.models import (
28+
Retreat,
29+
RetreatType,
30+
RetreatDate,
31+
)
2032

2133
User = get_user_model()
2234

@@ -186,6 +198,17 @@ def setUp(self):
186198
)
187199
self.retreat_hidden.activate()
188200

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+
189212
@override_settings(
190213
EXTERNAL_SCHEDULER={
191214
'URL': "http://example.com",
@@ -462,6 +485,12 @@ def test_create_batch_retreat(self):
462485
'retreat:retreattype-detail',
463486
args=[self.retreatType.id]
464487
),
488+
'exclusive_memberships': [
489+
reverse(
490+
'membership-detail',
491+
args=[self.membership.id]
492+
)
493+
],
465494
'bulk_start_time': '2021-03-01T08:00:00Z',
466495
'bulk_end_time': '2021-03-30T12:00:00Z',
467496
'weekdays': [0, 1, 2]
@@ -506,6 +535,15 @@ def test_create_batch_retreat(self):
506535

507536
for item in content:
508537
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+
)
509547
self.check_attributes(item, attributes)
510548

511549
@override_settings(

retirement/views.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ def batch_create(self, request):
214214
validated_data.pop('bulk_start_time')
215215
validated_data.pop('bulk_end_time')
216216
validated_data.pop('weekdays')
217+
memberships = validated_data.pop('exclusive_memberships')
217218

218219
for start, end in zip(retreat_start_dates, retreat_end_dates):
219220
if tz.localize(start).hour < 12:
@@ -224,6 +225,7 @@ def batch_create(self, request):
224225
"Bloc %d %b"
225226
) + ' ' + suffix
226227
new_retreat = Retreat.objects.create(**validated_data)
228+
new_retreat.exclusive_memberships.set(memberships)
227229
RetreatDate.objects.create(
228230
retreat=new_retreat,
229231
start_time=tz.localize(start),

0 commit comments

Comments
 (0)