def test_get_promotion(self): """ Test of getting a promotion with promotion id """ promotion = Promotion.find_by_promo_name('Buy one get one free')[0] resp = self.app.get('/promotions/{}'.format(promotion.id)) self.assertEqual(resp.status_code, status.HTTP_200_OK) data = json.loads(resp.data) self.assertEqual(data['promo_name'], promotion.promo_name)
def test_delete_promotion(self): """ Delete a Promotion """ promotion = Promotion.find_by_promo_name('Buy one get one free')[0] promotion_count = len(self.get_promotion()) resp = self.app.delete('/promotions/{}'.format(promotion.id), content_type='application/json') self.assertEqual(resp.status_code, status.HTTP_204_NO_CONTENT) self.assertEqual(len(resp.data), 0) new_count = len(self.get_promotion()) self.assertEqual(new_count, promotion_count - 1)
def test_update_promotion_when_not_found(self): """ Try Updating a non existing Promotion """ promotion = Promotion.find_by_promo_name('Buy one get one free')[0] new_promo = dict(promo_name='Buy one get one free', goods_name='yogurt', category='Dairy', price=2.99, discount=0.5, available=True) data = json.dumps(new_promo) resp = self.app.put('/promotions/{}'.format(promotion.id + 10), data=data, content_type='application/json') self.assertEqual(resp.status_code, status.HTTP_404_NOT_FOUND)
def test_update_promotion(self): """ Update an existing Promotion """ promotion = Promotion.find_by_promo_name('Buy one get one free')[0] new_promo = dict(promo_name='Buy one get one free', goods_name='yogurt', category='Dairy', price=2.99, discount=0.5, available=True) data = json.dumps(new_promo) resp = self.app.put('/promotions/{}'.format(promotion.id), data=data, content_type='application/json') self.assertEqual(resp.status_code, status.HTTP_200_OK) new_json = json.loads(resp.data) self.assertEqual(new_json['category'], 'Dairy')
def test_find_by_promo_name(self): """ Find all Promotion goods by promotions Name """ Promotion(promo_name="random", goods_name="random_good", category="random_category", price=20, discount=20, available=True).save() Promotion(promo_name="random2", goods_name="random2_good", category="random2_category", price=2, discount=2, available=False).save() promotions = Promotion.find_by_promo_name("random2") self.assertEqual(promotions[0].category, "random2_category") self.assertEqual(promotions[0].promo_name, "random2") self.assertEqual(promotions[0].goods_name, "random2_good") self.assertEqual(promotions[0].price, 2) self.assertEqual(promotions[0].discount, 2) self.assertEqual(promotions[0].available, False)