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)
Exemple #2
0
 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')
Exemple #5
0
 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)