def assert_plot_length_context_value(self, user, name, value, template_fn=None): if template_fn is None: template_fn = (self._form_template_with_request_user_for if user else self._form_template_for) plot = Plot(length=12.3, instance=self.instance) plot.convert_to_display_units() template = template_fn('plot.length') self._write_field_template("{{" + name + "}}") _TEMPLATES[0]['DIRS'] = [self.template_dir] with self.settings(TEMPLATES=_TEMPLATES): content = template.render( Context({ 'request': { 'user': user, 'instance': self.instance }, 'plot': plot })).strip() self.assertEqual(content, value)
def assert_plot_length_context_value(self, user, name, value, template_fn=None): if template_fn is None: template_fn = self._form_template_with_request_user_for if user else self._form_template_for plot = Plot(length=12.3, instance=self.instance) plot.convert_to_display_units() template = template_fn("plot.length") self._write_field_template("{{" + name + "}}") with self.settings(TEMPLATE_DIRS=(self.template_dir,)): content = template.render( Context({"request": {"user": user, "instance": self.instance}, "plot": plot}) ).strip() self.assertEqual(content, value)
class ConvertibleTest(OTMTestCase): def setUp(self): self.instance = make_instance() self.user = make_commander_user(self.instance) self.plot = Plot(instance=self.instance, geom=Point(-7615441, 5953519)) self.plot.save_with_user(self.user) self.tree = Tree(instance=self.instance, plot=self.plot) self.tree.save_with_user(self.user) def test_save_converts_width_when_units_differ(self): set_attr_on_json_field(self.instance, 'config.value_display.plot.width.units', 'in') self.plot.convert_to_display_units() self.plot.width = 12 self.plot.convert_to_database_units() self.plot.save_with_user(self.user) updated_plot = Plot.objects.get(pk=self.plot.pk) self.assertAlmostEqual(1, updated_plot.width) def test_save_converts_diameter_when_units_differ(self): set_attr_on_json_field(self.instance, 'config.value_display.tree.diameter.units', 'ft') self.tree.convert_to_display_units() self.tree.diameter = 1 self.tree.convert_to_database_units() self.tree.save_with_user(self.user) updated_tree = Tree.objects.get(pk=self.tree.pk) self.assertAlmostEqual(12, updated_tree.diameter) def test_save_does_not_convert_width_when_units_same(self): set_attr_on_json_field(self.instance, 'config.value_display.plot.width.units', 'ft') self.plot.width = 12 self.plot.save_with_user(self.user) updated_plot = Plot.objects.get(pk=self.plot.pk) self.assertEqual(12, updated_plot.width) def test_save_does_not_convert_diameter_when_units_same(self): set_attr_on_json_field(self.instance, 'config.value_display.tree.diameter.units', 'in') self.tree.diameter = 1 self.tree.save_with_user(self.user) updated_tree = Tree.objects.get(pk=self.tree.pk) self.assertEqual(1, updated_tree.diameter)
class ConvertibleTest(OTMTestCase): def setUp(self): self.instance = make_instance() self.user = make_commander_user(self.instance) self.plot = Plot(instance=self.instance, geom=self.instance.center) self.plot.save_with_user(self.user) self.tree = Tree(instance=self.instance, plot=self.plot) self.tree.save_with_user(self.user) def test_save_converts_width_when_units_differ(self): set_attr_on_json_field( self.instance, 'config.value_display.plot.width.units', 'in') self.plot.convert_to_display_units() self.plot.width = 12 self.plot.convert_to_database_units() self.plot.save_with_user(self.user) updated_plot = Plot.objects.get(pk=self.plot.pk) self.assertAlmostEqual(1, updated_plot.width) def test_save_converts_diameter_when_units_differ(self): set_attr_on_json_field( self.instance, 'config.value_display.tree.diameter.units', 'ft') self.tree.convert_to_display_units() self.tree.diameter = 1 self.tree.convert_to_database_units() self.tree.save_with_user(self.user) updated_tree = Tree.objects.get(pk=self.tree.pk) self.assertAlmostEqual(12, updated_tree.diameter) def test_save_does_not_convert_width_when_units_same(self): set_attr_on_json_field( self.instance, 'config.value_display.plot.width.units', 'ft') self.plot.width = 12 self.plot.save_with_user(self.user) updated_plot = Plot.objects.get(pk=self.plot.pk) self.assertEqual(12, updated_plot.width) def test_save_does_not_convert_diameter_when_units_same(self): set_attr_on_json_field( self.instance, 'config.value_display.tree.diameter.units', 'in') self.tree.diameter = 1 self.tree.save_with_user(self.user) updated_tree = Tree.objects.get(pk=self.tree.pk) self.assertEqual(1, updated_tree.diameter)