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)