Example #1
0
 def test_list_options_no_staff(self):
     OptionFactory.create_batch(size=10)
     options = OptionFactory.create_batch(size=3, is_public=True)
     admin = UserFactory()
     self.client.force_authenticate(admin)
     response = self.client.get("/api/options/", format="json")
     self.assertEqual(response.status_code, status.HTTP_200_OK)
     data = response.json()
     self.assertEqual(len(options), len(data))
 def test_to_dict(self):
     o = OptionFactory()
     d = o.to_dict()
     self.assertEqual(
         sorted(d.keys()), sorted(["cost", "days", "order_before"])
     )
     self.assertEqual(d["cost"], o.cost)
     self.assertEqual(d["days"], o.days)
     self.assertEqual(d["order_before"], o.order_before)
Example #3
0
 def test_can_update_options_staff(self):
     OptionFactory.create_batch(size=10)
     options = OptionFactory.create_batch(size=3, is_public=True)
     admin = UserFactory(is_staff=True)
     self.client.force_authenticate(admin)
     data = {"value": "dummy"}
     response = self.client.patch(f"/api/options/{options[0].pk}/",
                                  data=data,
                                  format="json")
     self.assertEqual(response.status_code, status.HTTP_200_OK)
 def test_from_xml(self):
     o = OptionFactory()
     el = o.to_xml()
     parsed_o = Option.from_xml(el)
     self.assertEqual(o.to_dict(), parsed_o.to_dict())
 def test_to_xml(self):
     o = OptionFactory(order_before=None)
     el = o.to_xml()
     expected_el = ET.Element("option", {"cost": o.cost, "days": o.days})
     self.assertElementsEquals(el, expected_el)
Example #6
0
 def test_public(self):
     options = OptionFactory.create_batch(size=5, is_public=True)
     OptionFactory.create_batch(size=3, is_public=False)
     self.assertEqual(len(options), Option.objects.public().count())
Example #7
0
 def test_float_conversion_options(self):
     name = "string_option"
     OptionFactory(name=name, value="42.5", type=FLOAT)
     value = Option.objects.get_value(name)
     self.assertIsInstance(value, float)
     self.assertAlmostEqual(42.5, value)
Example #8
0
 def test_str_conversion_options(self):
     name = "string_option"
     OptionFactory(name=name, value="42")
     value = Option.objects.get_value(name)
     self.assertIsInstance(value, str)
     self.assertEqual("42", value)
Example #9
0
 def test_int_conversion_options(self):
     name = "int_option"
     OptionFactory(name=name, value="42", type=INT)
     value = Option.objects.get_value(name)
     self.assertIsInstance(value, int)
     self.assertEqual(42, value)