Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
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)
Esempio n. 4
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)