Ejemplo n.º 1
0
    def test_update_boolean(self):
        data = self.indentical_datas.copy()

        data["yesorno"] = ""
        form = FooModelForm(user=self.user, instance=self.foo, data=data)
        form.save()
        self.assertEqual(Entry.objects.all().count(), 1)
        entry = Entry.objects.all()[0]
        changed_data = entry.changeddata_set.all()[0]
        self.check_changed_data(changed_data, "Check for yes", "Yes", "No")
Ejemplo n.º 2
0
 def test_get_history_entries(self):
     self.assertEqual(self.foo.get_history_entries().count(), 0)
     data = self.indentical_datas.copy()
     data["name"] = "Another name"
     form = FooModelForm(user=self.user, instance=self.foo, data=data)
     form.save()
     self.assertEqual(self.foo.get_history_entries().count(), 1)
     entry = self.foo.get_history_entries()[0]
     self.assertEqual(entry.content_object, self.foo)
     self.assertEqual(entry.changeddata_set.all().count(), 1)
Ejemplo n.º 3
0
 def test_add(self):
     data = self.indentical_datas.copy()
     form = FooModelForm(user=self.user, instance=None, data=data)
     form.save()
     self.assertEqual(Entry.objects.all().count(), 1)
     entry = Entry.objects.all()[0]
     self.assertEqual(entry.changeddata_set.all().count(), 0)
     self.assertTrue(entry.is_addition())
     self.assertFalse(entry.is_change())
     self.assertEqual(entry.short_message,
                      "User TEST has added 'Foo Test foo'")
Ejemplo n.º 4
0
    def test_update_foreign_key(self):
        data = self.indentical_datas.copy()

        # Save another value on the foreignKey
        data["bar"] = Bar.objects.get(name="rab").id
        form = FooModelForm(user=self.user, instance=self.foo, data=data)
        form.save()
        self.assertEqual(Entry.objects.all().count(), 1)
        entry = Entry.objects.all()[0]
        self.assertTrue(entry.is_change())
        self.assertFalse(entry.is_addition())
        self.assertFalse(entry.is_deletion())
        self.assertEqual(entry.changeddata_set.all().count(), 1)
        changed_data = entry.changeddata_set.all()[0]
        self.check_changed_data(changed_data, "Name of the bar", "bar", "rab")

        # Save an empty value on the foreignKey
        del data["bar"]
        form = FooModelForm(user=self.user, instance=self.foo, data=data)
        form.save()
        self.assertEqual(Entry.objects.all().count(), 2)
        entry = Entry.objects.all()[0]
        self.assertEqual(entry.changeddata_set.all().count(), 1)
        changed_data = entry.changeddata_set.all()[0]
        self.check_changed_data(changed_data, "Name of the bar", "rab",
                                "Empty")
Ejemplo n.º 5
0
    def test_update_choicefield(self):
        data = self.indentical_datas.copy()

        # Save another value on the choiceField
        data["choose_somthing"] = "nok"
        form = FooModelForm(user=self.user, instance=self.foo, data=data)
        form.save()
        self.assertEqual(Entry.objects.all().count(), 1)
        entry = Entry.objects.all()[0]
        self.assertTrue(entry.is_change())
        self.assertFalse(entry.is_addition())
        self.assertFalse(entry.is_deletion())
        self.assertEqual(entry.changeddata_set.all().count(), 1)
        changed_data = entry.changeddata_set.all()[0]
        self.check_changed_data(changed_data, "Make your choice", "It's OK",
                                "It's not OK")
Ejemplo n.º 6
0
    def test_update_filefield(self):
        data = self.indentical_datas.copy()
        upload_file = open("images/poney.jpeg", "rb")
        file_dict = {
            "picture": SimpleUploadedFile(upload_file.name, upload_file.read())
        }
        form = FooModelForm(user=self.user,
                            instance=self.foo,
                            data=data,
                            files=file_dict)
        self.assertTrue(form.is_valid())
        form.save()
        self.assertEqual(Entry.objects.all().count(), 1)
        entry = Entry.objects.all()[0]
        self.assertEqual(entry.changeddata_set.all().count(), 1)
        changed_data = entry.changeddata_set.all()[0]
        self.check_changed_data(changed_data, "Picture", None, "poney.jpeg")

        upload_file = open("images/poney-bw.jpg", "rb")
        file_dict = {
            "picture": SimpleUploadedFile(upload_file.name, upload_file.read())
        }
        form = FooModelForm(user=self.user,
                            instance=self.foo,
                            data=data,
                            files=file_dict)
        self.assertTrue(form.is_valid())
        form.save()
        self.assertEqual(Entry.objects.all().count(), 2)
        entry = Entry.objects.all()[0]
        self.assertEqual(entry.changeddata_set.all().count(), 1)
        changed_data = entry.changeddata_set.all()[0]
        self.check_changed_data(changed_data, "Picture", "poney.jpeg",
                                "poney-bw.jpg")

        os.remove("poney.jpeg")
        os.remove("poney-bw.jpg")
Ejemplo n.º 7
0
 def test_get_history_user(self):
     form = FooModelForm(user=self.user,
                         instance=None,
                         data=self.indentical_datas)
     self.assertEqual(form.get_history_user(), self.user)
     form = FooModelFormRequest(request=None,
                                instance=None,
                                data=self.indentical_datas)
     self.assertEqual(form.get_history_user(), None)
     request = RequestFactory()
     request.user = self.user
     form = FooModelFormRequest(request=request,
                                instance=None,
                                data=self.indentical_datas)
     self.assertEqual(form.get_history_user(), self.user)
Ejemplo n.º 8
0
 def test_no_change(self):
     form = FooModelForm(user=self.user,
                         instance=self.foo,
                         data=self.indentical_datas)
     form.save()
     self.assertEqual(Entry.objects.all().count(), 0)
Ejemplo n.º 9
0
    def test_update_manytomany(self):
        data = self.indentical_datas.copy()

        # Save another multiple values on M2M
        data["baz"] = [b.id for b in Baz.objects.filter(name__startswith="b")]
        form = FooModelForm(user=self.user, instance=self.foo, data=data)
        form.save()
        self.assertEqual(Entry.objects.all().count(), 1)
        entry = Entry.objects.all()[0]
        self.assertTrue(entry.is_change())
        self.assertFalse(entry.is_addition())
        self.assertFalse(entry.is_deletion())
        self.assertEqual(entry.changeddata_set.all().count(), 1)
        changed_data = entry.changeddata_set.all()[0]
        self.check_changed_data(changed_data, "Select some baz",
                                "baz, zab, bza", "baz, bza")

        # Save a single object on M2M
        data["baz"] = [Baz.objects.get(name="zab").id]
        form = FooModelForm(user=self.user, instance=self.foo, data=data)
        form.save()
        self.assertEqual(Entry.objects.all().count(), 2)
        entry = Entry.objects.all()[0]
        changed_data = entry.changeddata_set.all()[0]
        self.assertEqual(entry.changeddata_set.all().count(), 1)
        self.check_changed_data(changed_data, "Select some baz", "baz, bza",
                                "zab")

        # Save an empty value on M2M
        del data["baz"]
        form = FooModelForm(user=self.user, instance=self.foo, data=data)
        form.save()
        self.assertEqual(Entry.objects.all().count(), 3)
        entry = Entry.objects.all()[0]
        self.assertEqual(entry.changeddata_set.all().count(), 1)
        changed_data = entry.changeddata_set.all()[0]
        self.check_changed_data(changed_data, "Select some baz", "zab",
                                "Empty")