Skip to content

Commit 321dc56

Browse files
committed
Ensure report column are filled correctly on flip.
1 parent 5d5cc1c commit 321dc56

File tree

2 files changed

+21
-17
lines changed

2 files changed

+21
-17
lines changed

tigaserver_app/tests/tests.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,6 +1125,8 @@ def test_flip_site_to_site(self):
11251125
self.assertTrue(n_responses == 2, "Number of responses should be 2, is {0}".format(n_responses))
11261126
self.assertTrue(r_site_reloaded.flipped, "Report should be marked as flipped")
11271127
self.assertTrue(r_site_reloaded.flipped_to == 'site#site',"Report should be marked as flipped from site to site, field has value of {0}".format(r_site_reloaded.flipped_to))
1128+
self.assertEqual(r_site_reloaded.breeding_site_type, Report.BREEDING_SITE_TYPE_STORM_DRAIN)
1129+
self.assertTrue(r_site_reloaded.breeding_site_has_water)
11281130

11291131
def test_flip(self):
11301132
u = User.objects.get(pk=25)
@@ -1143,7 +1145,10 @@ def test_flip(self):
11431145
response = self.client.patch('/api/flip_report/', data=data)
11441146
self.assertEqual(response.status_code, 200, "Response should be 200, is {0}".format(response.status_code))
11451147
adult_reloaded = Report.objects.get(pk=r_adult.version_UUID)
1146-
self.assertTrue(adult_reloaded.type=='site',"Report type should have changed to site, is {0}".format(adult_reloaded.type))
1148+
self.assertTrue(adult_reloaded.type==Report.TYPE_SITE,"Report type should have changed to site, is {0}".format(adult_reloaded.type))
1149+
self.assertEqual(adult_reloaded.breeding_site_type, Report.BREEDING_SITE_TYPE_STORM_DRAIN)
1150+
self.assertTrue(adult_reloaded.breeding_site_has_water)
1151+
11471152
n_responses = ReportResponse.objects.filter(report=adult_reloaded).count()
11481153
self.assertTrue( n_responses == 2, "Number of responses should be 2, is {0}".format(n_responses) )
11491154
self.assertTrue( adult_reloaded.flipped, "Report should be marked as flipped" )
@@ -1164,7 +1169,8 @@ def test_flip(self):
11641169
response = self.client.patch('/api/flip_report/', data=data)
11651170
self.assertEqual(response.status_code, 200, "Response should be 200, is {0}".format(response.status_code))
11661171
site_reloaded = Report.objects.get(pk=r_site.version_UUID)
1167-
self.assertTrue(site_reloaded.type == 'adult', "Report type should have changed to adult, is {0}".format(site_reloaded.type))
1172+
self.assertTrue(site_reloaded.type == Report.TYPE_ADULT, "Report type should have changed to adult, is {0}".format(site_reloaded.type))
1173+
11681174
n_responses = ReportResponse.objects.filter(report=site_reloaded).count()
11691175
self.assertTrue(n_responses == 0, "Number of responses should be 0, is {0}".format(n_responses))
11701176
self.assertTrue(site_reloaded.flipped, "Report should be marked as flipped")

tigaserver_app/views.py

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2256,16 +2256,16 @@ def flip_report(request):
22562256
return Response(data={'message': 'success', 'opcode': -1}, status=status.HTTP_400_BAD_REQUEST)
22572257
if flip_to_type == '': # adult | site
22582258
raise ParseError(detail='flip_to_type param is mandatory')
2259-
if flip_to_type not in ['adult', 'site']:
2259+
if flip_to_type not in [Report.TYPE_ADULT, Report.TYPE_SITE]:
22602260
raise ParseError(detail='value not allowed, possible values are \'adult\', \'site\'')
2261-
if flip_to_type == 'site':
2261+
if flip_to_type == Report.TYPE_SITE:
22622262
if flip_to_subtype == '':
22632263
raise ParseError(detail='flip_to_subtype param is mandatory if type is site')
22642264
else:
22652265
if flip_to_subtype not in ['storm_drain_water','storm_drain_dry', 'other_water', 'other_dry']:
22662266
raise ParseError(detail='value not allowed, possible values are \'storm_drain_water\',\'storm_drain_dry\', \'other_water\', \'other_dry\' ')
22672267

2268-
if report.type == 'adult' and flip_to_type == 'adult':
2268+
if report.type == Report.TYPE_ADULT and flip_to_type == Report.TYPE_ADULT:
22692269
return Response(
22702270
data={'message': 'Type is already adult, doing nothing', 'opcode': -2}, status=status.HTTP_400_BAD_REQUEST)
22712271
# delete questions and answers ?
@@ -2278,15 +2278,15 @@ def flip_report(request):
22782278
# id 4ada4a1b-c438-4fcc-87e7-eb4696c1466f question_10 question_10_answer_101 101 10 -> Water
22792279
with transaction.atomic():
22802280
ReportResponse.objects.filter(report=report).delete()
2281-
rr_type_stormdrain = ReportResponse(report=report,question='question_12',answer='question_12_answer_121',question_id='12',answer_id='121')
2282-
rr_type_other = ReportResponse(report=report, question='question_12', answer='question_12_answer_122', question_id='12', answer_id='122')
2283-
rr_yes_water = ReportResponse(report=report, question='question_10', answer='question_10_answer_101', question_id='10', answer_id='101')
2284-
rr_no_water = ReportResponse(report=report, question='question_10', answer='question_10_answer_102', question_id='10', answer_id='102')
2285-
if flip_to_type == 'site':
2286-
report.flipped = True
2287-
report.flipped_on = timezone.now()
2281+
rr_type_stormdrain = ReportResponse(report=report,question='question_12',answer='question_12_answer_121',question_id=12,answer_id=121)
2282+
rr_type_other = ReportResponse(report=report, question='question_12', answer='question_12_answer_122', question_id=12, answer_id=122)
2283+
rr_yes_water = ReportResponse(report=report, question='question_10', answer='question_10_answer_101', question_id=10, answer_id=101)
2284+
rr_no_water = ReportResponse(report=report, question='question_10', answer='question_10_answer_102', question_id=10, answer_id=102)
2285+
report.flipped = True
2286+
report.flipped_on = timezone.now()
2287+
if flip_to_type == Report.TYPE_SITE:
22882288
report.flipped_to = report.type + '#site'
2289-
report.type = 'site'
2289+
report.type = Report.TYPE_SITE
22902290
report.save()
22912291
if flip_to_subtype == 'storm_drain_water':
22922292
rr_type_stormdrain.save()
@@ -2304,11 +2304,9 @@ def flip_report(request):
23042304
rr_type_other.save()
23052305
rr_yes_water.save()
23062306
message = "Report changed to Site - Other, Water"
2307-
elif flip_to_type == 'adult':
2308-
report.flipped = True
2309-
report.flipped_on = timezone.now()
2307+
elif flip_to_type == Report.TYPE_ADULT:
23102308
report.flipped_to = report.type + '#adult'
2311-
report.type = 'adult'
2309+
report.type = Report.TYPE_ADULT
23122310
report.save()
23132311
message = "Report changed to Adult"
23142312

0 commit comments

Comments
 (0)