def test_gen_megadict_sort_by_opername(self): request_json = copy.deepcopy(self.request_json) request_json['operations']['ws1_semination'] = True request_json['operations']['ws1_usound'] = True sows_testings.create_sow_with_semination_usound(location=self.loc_ws1, week=21) sows_testings.create_sow_with_semination_usound(location=self.loc_ws1, week=21) date_10d_ago = timezone.now() - timedelta(10) sows_testings.create_sow_with_semination_usound(location=self.loc_ws1, week=22, date=date_10d_ago) sows_testings.create_sow_with_semination_usound(location=self.loc_ws1, week=22, date=date_10d_ago) date_15d_ago = timezone.now() - timedelta(15) sows_testings.create_sow_with_semination_usound(location=self.loc_ws1, week=23, date=date_15d_ago) sows_testings.create_sow_with_semination_usound(location=self.loc_ws1, week=23, date=date_15d_ago) megalist = gen_megadict(request_json)['results'] date1 = datetime.strptime(megalist[0]['date'], '%d-%m-%Y %H:%M:%S') date2 = datetime.strptime(megalist[-1]['date'], '%d-%m-%Y %H:%M:%S') self.assertEqual(date1 > date2, True)
def test_gen_megadict_two_operations_filter_sow(self): request_json = copy.deepcopy(self.request_json) request_json['operations']['ws1_semination'] = True request_json['operations']['ws3_piglets_padej'] = True sow1 = sows_testings.create_sow_with_semination_usound( location=self.loc_ws1, week=22) sow2 = sows_testings.create_sow_with_semination_usound( location=self.loc_ws1, week=22) date_10d_ago = timezone.now() - timedelta(10) sow3 = sows_testings.create_sow_with_semination_usound( location=self.loc_ws1, week=22, date=date_10d_ago) sow4 = sows_testings.create_sow_with_semination_usound( location=self.loc_ws3_cells[0], week=22, date=date_10d_ago) farrow = SowFarrow.objects.create_sow_farrow(sow=sow4, alive_quantity=10, date=date_10d_ago) piglets = farrow.piglets_group CullingPiglets.objects.create_culling_piglets(piglets_group=piglets, culling_type='padej', date=date_10d_ago) request_json['filters']['farm_id'] = sow1.farm_id megalist = gen_megadict(request_json)['results'] self.assertEqual(len(megalist), 1) self.assertEqual(megalist[0]['sow'], sow1.farm_id)
def post(self, request): operations_data = gen_operations_dict() megadict = gen_megadict(request.data) return Response(megadict) # return Response(self.pagination.get_paginated_response(data=megalist)) # class ReportWsPopulation(viewsets.ViewSet): # def ws_and_sections(self, request): # ws_number = request.GET['ws_number'] # ws = Location.objects.filter(workshop__number=workshop_number)
def test_padej_data(self): request_json = copy.deepcopy(self.request_json) request_json['operations']['ws1_semination'] = True request_json['operations']['ws3_piglets_padej'] = True request_json['operations']['ws5_piglets_padej'] = True initiator = User.objects.get(username='******') location = Location.objects.filter( sowAndPigletsCell__number=1, sowAndPigletsCell__section__number=1).first() date = timezone.now() - timedelta(10) piglets = piglets_testing.create_from_sow_farrow_by_week( location=location, quantity=15, week=1, date=date) CullingPiglets.objects.create_culling_piglets(piglets_group=piglets, culling_type='padej', reason='xz', initiator=initiator, quantity=2, total_weight=68.6) CullingPiglets.objects.create_culling_piglets(piglets_group=piglets, culling_type='padej', reason='xz2', initiator=initiator, quantity=1, total_weight=33.5) piglets2 = piglets_testing.create_new_group_with_metatour_by_one_tour( tour=self.tour1, location=self.loc_ws5, quantity=100) CullingPiglets.objects.create_culling_piglets(piglets_group=piglets2, culling_type='padej', reason='xz3', initiator=initiator, quantity=1, total_weight=80.5) megadict = gen_megadict(request_json) self.assertEqual( megadict['additional_data']['piglets_padej_data']['total_qnty'], 4) self.assertEqual( megadict['additional_data']['piglets_padej_data']['total_weight'], 182.6)
def test_gen_megadict_two_operations_filter_end_date(self): request_json = copy.deepcopy(self.request_json) request_json['operations']['ws1_semination'] = True request_json['operations']['ws1_usound'] = True request_json['filters']['end_date'] = (timezone.now() - timedelta(1)) \ .date().strftime("%Y-%m-%d") sows_testings.create_sow_with_semination_usound(location=self.loc_ws1, week=22) sows_testings.create_sow_with_semination_usound(location=self.loc_ws1, week=22) date_10d_ago = timezone.now() - timedelta(10) sows_testings.create_sow_with_semination_usound(location=self.loc_ws1, week=22, date=date_10d_ago) megalist = gen_megadict(request_json)['results'] self.assertEqual(len(megalist), 3)
def test_gen_megadict_one_operation(self): request_json = copy.deepcopy(self.request_json) request_json['operations']['ws1_semination'] = True sows_testings.create_sow_with_semination_usound(location=self.loc_ws1, week=22) sows_testings.create_sow_with_semination_usound(location=self.loc_ws1, week=22) date_10d_ago = timezone.now() - timedelta(10) sows_testings.create_sow_with_semination_usound(location=self.loc_ws1, week=22, date=date_10d_ago) sows_testings.create_sow_with_semination_usound(location=self.loc_ws1, week=22, date=date_10d_ago) megalist = gen_megadict(request_json)['results'] self.assertEqual(len(megalist), 4)
def test_padej_data_none(self): request_json = copy.deepcopy(self.request_json) request_json['operations']['ws1_semination'] = True initiator = User.objects.get(username='******') location = Location.objects.filter( sowAndPigletsCell__number=1, sowAndPigletsCell__section__number=1).first() date = timezone.now() - timedelta(10) piglets = piglets_testing.create_from_sow_farrow_by_week( location=location, quantity=15, week=1, date=date) megadict = gen_megadict(request_json) self.assertEqual( megadict['additional_data']['piglets_padej_data']['total_qnty'], None) self.assertEqual( megadict['additional_data']['piglets_padej_data']['total_weight'], None)