class PresentAPNUseCaseTests(unittest.TestCase): def setUp(self): super(PresentAPNUseCaseTests, self).setUp() self.repository = FakeAPNRepository() self.subject = PresentAPNUseCase(repository=self.repository) def test_present_apn_with_valid_identifier_notifies_observer(self): self.repository.create(county='sanfrancisco', block_number='asdf', lot_number='zxcv', address='my special address') valid_apn_identifier = APNIdentifier(county='sanfrancisco', block_number='asdf', lot_number='zxcv') observer = FakeObserver() self.subject.execute(apn_identifier=valid_apn_identifier, observer=observer) expected_apn = APN(county='sanfrancisco', block_number='asdf', lot_number='zxcv', address='my special address') assert_apns_equal(observer.presented_apn, expected_apn, self) assert_apn_identifiers_equal(observer.presented_apn_identifier, valid_apn_identifier, self) def test_present_apn_with_invalid_identifier_notifies_observer(self): self.repository.create(county='sanfrancisco', block_number='asdf', lot_number='zxcv', address='my special address') invalid_apn_identifier = APNIdentifier(county='la', block_number='asdf', lot_number='zxcv') observer = FakeObserver() self.subject.execute(apn_identifier=invalid_apn_identifier, observer=observer) self.assertEqual(observer.exception, ValueError) self.assertIsNotNone(observer.context) assert_apn_identifiers_equal(observer.presented_apn_identifier, invalid_apn_identifier, self)
def setUp(self): super(PresentAPNUseCaseTests, self).setUp() self.repository = FakeAPNRepository() self.subject = PresentAPNUseCase(repository=self.repository)