def test_fetch_apn_with_valid_identifier(self): self.subject.create(county='sanfrancisco', block_number='0253A', lot_number='086', address='My special address') valid_apn_identifier = APNIdentifier(county='sanfrancisco', block_number='0253A', lot_number='086') apn = None def success(incoming_apn): nonlocal apn apn = incoming_apn def failure(x, y, z): return None self.subject.fetch_apn(apn_identifier=valid_apn_identifier, success=success, failure=failure) expected_apn = APN(county='sanfrancisco', block_number='0253A', lot_number='086', address='My special address') assert_apns_equal(apn=apn, other_apn=expected_apn, test_case=self)
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)