Ejemplo n.º 1
0
 def test_update_random_number_ok(self):
     self.login()
     data = {
         'title': 'test_draw',
         'is_shared': True,
         'enable_chat': True,
         'users': ['*****@*****.**'],
         'range_min': 5,
         'range_max': 6,
         'allow_repeat': True,
         }
     draw = RandomNumberDraw(**data)
     draw.owner = self.user.pk
     self.mongo.save_draw(draw)
     update_data = {
         'range_min': 50,
         'range_max': 60
     }
     resp = self.api_client.patch(self.detail_uri(draw), data=update_data)
     print(resp)
     self.assertHttpAccepted(resp)
     draw = self.mongo.retrieve_draw(draw.pk)
     for key, value in update_data.items():
         self.assertEqual(value, getattr(draw, key))
     self.mongo.remove_draw(draw.pk)
Ejemplo n.º 2
0
 def test_update_not_owner_unauthorised(self):
     self.login()
     data = {
         'title': 'test_draw',
         'is_shared': True,
         'enable_chat': True,
         'users': ['*****@*****.**'],
         'range_min': 5,
         'range_max': 6,
         'allow_repeat': True,
         }
     draw = RandomNumberDraw(**data)
     draw.owner = "*****@*****.**"
     self.mongo.save_draw(draw)
     resp = self.api_client.patch(self.detail_uri(draw), data={})
     print(resp)
     self.assertHttpUnauthorized(resp)
Ejemplo n.º 3
0
 def test_toss_random_number_ok(self):
     self.login()
     data = {
         'title': 'test_draw',
         'is_shared': True,
         'enable_chat': True,
         'users': ['*****@*****.**'],
         'range_min': 5,
         'range_max': 6,
         'allow_repeat': True,
         }
     draw = RandomNumberDraw(**data)
     draw.owner = self.user.pk
     self.mongo.save_draw(draw)
     resp = self.toss(draw)
     print(resp)
     self.assertHttpOK(resp)
     draw = self.mongo.retrieve_draw(draw.pk)
     self.assertEqual(1, len(draw.results))
     self.mongo.remove_draw(draw.pk)
Ejemplo n.º 4
0
 def test_update_random_number_not_feasible(self):
     self.login()
     data = {
         'title': 'test_draw',
         'is_shared': True,
         'enable_chat': True,
         'users': ['*****@*****.**'],
         'range_min': 5,
         'range_max': 6,
         'allow_repeat': True,
         }
     draw = RandomNumberDraw(**data)
     draw.owner = self.user.pk
     self.mongo.save_draw(draw)
     update_data = {
         'range_min': 70,
         'range_max': 60
     }
     resp = self.api_client.patch(self.detail_uri(draw), data=update_data)
     print(resp)
     self.assertHttpBadRequest(resp)
     self.mongo.remove_draw(draw.pk)
Ejemplo n.º 5
0
 def test_update_random_number_forbidden_att(self):
     self.login()
     data = {
         'title': 'test_draw',
         'is_shared': True,
         'enable_chat': True,
         'users': ['*****@*****.**'],
         'range_min': 5,
         'range_max': 6,
         'allow_repeat': True,
         }
     draw = RandomNumberDraw(**data)
     draw.owner = self.user.pk
     self.mongo.save_draw(draw)
     for attr in ['results', 'owner', '_id', 'pk', 'creation_time',
                  'last_updated_time', 'audit']:
         data[attr] = "something"
         resp = self.api_client.patch(self.detail_uri(draw),
                                      format='json',
                                      data=data)
         self.assertHttpBadRequest(resp)
         data.pop(attr)
     self.mongo.remove_draw(draw.pk)
Ejemplo n.º 6
0
 def test_update_random_number_fake_attributes(self):
     self.login()
     data = {
         'title': 'test_draw',
         'is_shared': True,
         'enable_chat': True,
         'users': ['*****@*****.**'],
         'range_min': 5,
         'range_max': 6,
         'allow_repeat': True,
         }
     draw = RandomNumberDraw(**data)
     draw.owner = self.user.pk
     self.mongo.save_draw(draw)
     for attr in ['not_an_attribute', 'participants', 'a_test']:
         data[attr] = "something"
         resp = self.api_client.patch(self.detail_uri(draw),
                                      format='json',
                                      data=data)
         self.assertHttpAccepted(resp)
         updated_draw = self.mongo.retrieve_draw(draw.pk)
         self.assertFalse(hasattr(updated_draw, attr))
         data.pop(attr)
     self.mongo.remove_draw(draw.pk)