예제 #1
0
    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)
예제 #2
0
    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)
예제 #3
0
    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)
예제 #4
0
    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)
예제 #5
0
    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)
예제 #6
0
    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)
예제 #7
0
    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)