def test_equality(self): config = ExampleConfig(changed_by=self.user, string_field='first') config.save() self.assertTrue( ExampleConfig.equal_to_current({"string_field": "first"})) self.assertTrue( ExampleConfig.equal_to_current({ "string_field": "first", "enabled": False })) self.assertTrue( ExampleConfig.equal_to_current({ "string_field": "first", "int_field": 10 })) self.assertFalse( ExampleConfig.equal_to_current({ "string_field": "first", "enabled": True })) self.assertFalse( ExampleConfig.equal_to_current({ "string_field": "first", "int_field": 20 })) self.assertFalse( ExampleConfig.equal_to_current({"string_field": "second"})) self.assertFalse(ExampleConfig.equal_to_current({}))
def test_equality_custom_fields_to_ignore(self): config = ExampleConfig(changed_by=self.user, string_field='first') config.save() # id, change_date, and changed_by will all be different for a newly created entry self.assertTrue( ExampleConfig.equal_to_current({"string_field": "first"})) self.assertFalse( ExampleConfig.equal_to_current({"string_field": "first"}, fields_to_ignore=("change_date", "changed_by"))) self.assertFalse( ExampleConfig.equal_to_current({"string_field": "first"}, fields_to_ignore=("id", "changed_by"))) self.assertFalse( ExampleConfig.equal_to_current({"string_field": "first"}, fields_to_ignore=("change_date", "id"))) # Test the ability to ignore a different field ("int_field"). self.assertFalse( ExampleConfig.equal_to_current({ "string_field": "first", "int_field": 20 })) self.assertTrue( ExampleConfig.equal_to_current( { "string_field": "first", "int_field": 20 }, fields_to_ignore=("id", "change_date", "changed_by", "int_field")))