예제 #1
0
    def test_awarded_and_lots_predicate(self):
        blck_com_status = 'blck_com_status'
        auction_statuses = ['active.qualification', 'active.awarded']
        auction_com_status = 'auction_com_status'
        auction_complaints = munch.Munch({
            'status': auction_com_status,
            'relatedLot': None
        })
        auction = munch.Munch({
            'lots': True,
            'status': auction_statuses[0],
            'block_complaint_status': blck_com_status,
            'complaints': [auction_complaints]
        })

        result = awarded_and_lots_predicate(auction)
        self.assertEqual(result, True)

        auction.lots = None
        result = awarded_and_lots_predicate(auction)
        self.assertEqual(result, None)

        auction.lots = True
        auction.status = auction_statuses[1]
        result = awarded_and_lots_predicate(auction)
        self.assertEqual(result, True)

        auction.status = 'not_active'
        result = awarded_and_lots_predicate(auction)
        self.assertEqual(result, False)

        auction.status = auction_statuses[1]
        auction.block_complaint_status = auction_com_status
        result = awarded_and_lots_predicate(auction)
        self.assertEqual(result, False)
예제 #2
0
def next_check_awarding(auction):
    checks = []
    if not auction.lots and auction.status == 'active.qualification':
        for award in auction.awards:
            if award.status == 'pending.admission':
                checks.append(award.admissionPeriod.endDate.astimezone(TZ))
    elif awarded_and_lots_predicate(auction):
        checks = check_lots_awarding(auction)
    return min(checks) if checks else None
def next_check_awarding(auction):
    checks = []
    if awarded_and_lots_predicate(auction):
        checks = check_lots_awarding(auction)
    return min(checks) if checks else None