def test_builder_delegates_email_parsing_to_contact_parser(): expected_email_address = '*****@*****.**' contact_parser_mock = MagicMock(spec=contact_parser) builder = ListingBuilder(contact_parser=contact_parser_mock, contact_email_address=[expected_email_address]) builder._build_contact_email_address() contact_parser_mock.get_contact_email_address.assert_called_with(expected_email_address)
def test_builder_uses_email_parser_when_in_name_provided(): expected_email = '*****@*****.**' contact_parser_mock = MagicMock(spec=contact_parser) contact_parser_mock.get_contact_email_address = MagicMock(return_value=expected_email) builder = ListingBuilder(contact_parser=contact_parser_mock, contact_email_address=[expected_email]) builder._build_contact_email_address() contact_phone_number = builder.listing_attrs_output[listing_builder.CONTACT_EMAIL_ADDRESS] assert contact_phone_number == expected_email
def test_builder_uses_description_for_email_if_not_available(): contact_parser_mock = MagicMock(spec=contact_parser) expected_email = '*****@*****.**' contact_parser_mock.get_contact_email_address = MagicMock(return_value=expected_email) builder = ListingBuilder(contact_parser=contact_parser_mock) builder.listing_attrs_output = MagicMock() builder.listing_attrs_output.get.return_value = True builder._build_contact_email_address() assert builder.listing_attrs_output.__setitem__.call_args_list[0] == call(listing_builder.CONTACT_EMAIL_ADDRESS, expected_email)