def test_it_does_not_modify_existing_object_if_object_already_exists(self): TestPerson.objects.create(first_name='John', last_name='Jackson') sut = CreateModelAction(TestPerson, ['first_name'], {'first_name': 'John', 'last_name': 'Smith'}) sut.execute() self.assertEqual(1, TestPerson.objects.count()) self.assertEquals('Jackson', TestPerson.objects.first().last_name)
def test_it_uses_all_included_fields_and_overrides_defaults( self): sut = CreateModelAction( TestPerson, ['first_name'], {'first_name': 'John', 'last_name': 'Smith', 'age': 30, 'hair_colour': 'None, he bald!'}) result = sut.execute() self.assertEqual('John', result.first_name) self.assertEqual('Smith', result.last_name) self.assertEqual(30, result.age) self.assertEqual('None, he bald!', result.hair_colour)
def test_it_returns_the_object_even_if_it_did_not_create_it(self): john = TestPerson.objects.create(first_name='John', last_name='Smith') sut = CreateModelAction(TestPerson, ['first_name'], {'first_name': 'John', 'last_name': 'Smith'}) result = sut.execute() self.assertEqual(john, result)
def test_it_does_not_create_if_matching_object_exists(self): TestPerson.objects.create(first_name='John', last_name='Smith') sut = CreateModelAction(TestPerson, ['first_name'], {'first_name': 'John', 'last_name': 'Smith'}) sut.execute() self.assertEqual(1, TestPerson.objects.count())
def test_it_returns_the_created_object(self): sut = CreateModelAction(TestPerson, ['first_name'], {'first_name': 'John', 'last_name': 'Smith'}) result = sut.execute() self.assertEqual(TestPerson.objects.first(), result)
def test_it_creates_an_object(self): sut = CreateModelAction(TestPerson, ['first_name'], {'first_name': 'John', 'last_name': 'Smith'}) sut.execute() self.assertEqual(1, TestPerson.objects.count())