Example #1
0
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)
Example #2
0
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)