def test_bid_validor_is_not_valid(self): self.assertFalse(BidValidator({}).is_valid()) self.assertFalse(BidValidator({'description': ""}).is_valid()) self.assertFalse( BidValidator({ 'title': "Toto", 'description': "Titi", "toto": "tata" }).is_valid())
def create_bid(request): json_bid = json.loads(request.body.decode('utf-8')) bid_validator = BidValidator(json_bid) if not bid_validator.is_valid(): logger.debug('bid is not valid : %s' % bid_validator.error_message) return HttpBadRequest(bid_validator.error_code, bid_validator.error_message) bid = bid_validator.get_bid_object(request.user) new_bid = models.Bid(**bid) new_bid.save() new_bid_id = new_bid.id return HttpCreated(json.dumps({'bid_id': new_bid_id}), location='/api/bids/%d/' % new_bid_id)
def update_bid(request, bid_id): bids = models.Bid.objects.filter(id=bid_id) new_bid = json.loads(request.body.decode('utf-8')) if bids and new_bid: bid_creator = bids[0].creator bid_validator = BidValidator(new_bid) if request.user == bid_creator or request.user.is_staff: if bid_validator.is_valid(): updated_bid = bid_validator.get_bid_object(bid_creator) bids.update(**updated_bid) return HttpResponse(json.dumps({'bid_id': bids[0].id}), content_type='application/json') return HttpBadRequest(10666, bid_validator.error_message) return HttpBadRequest(10666, error_codes['10666'])
def test_get_bid_object_sent_with_keys_none_value(self): bid_validated = BidValidator({ 'title': "Chaise", 'description': "Un siège, un dossier, 4 pieds", 'type': 'Offer', 'category': None, 'localization': None, 'association': None, "begin": constants.TODAY_ISO, "end": constants.TOMORROW_ISO, "quantity": "", "real_author": "titi"} ) self.assertTrue(bid_validated.get_bid_object(self.creator))
def test_get_bid_object_sent_with_keys_none_value(self): bid_validated = BidValidator({ 'title': "Chaise", 'description': "Un siège, un dossier, 4 pieds", 'type': 'Offer', 'category': None, 'localization': None, 'association': None, "begin": constants.TODAY_ISO, "end": constants.TOMORROW_ISO, "quantity": "", "real_author": "titi" }) self.assertTrue(bid_validated.get_bid_object(self.creator))
def test_bid_validator_with_bad_date(self): bid_with_bad_date = { "title": "Ma première annonce wouhouhou test 1234", "description": 'Ceci est une description', "type": "DEMAND", "begin": constants.TODAY_ISO, "end": constants.YESTERDAY_ISO } self.assertFalse(BidValidator(bid_with_bad_date).is_valid())
def test_bid_is_valid(self): self.assertTrue( BidValidator({ 'title': "Chaise", 'description': "Un siège, un dossier, 4 pieds", 'type': 'Offer', 'category': 'ALIMENTAIRE', "begin": constants.TODAY_ISO, "end": constants.TOMORROW_ISO, "quantity": "", "real_author": "titi" }).is_valid())