def test_builder_gets_amenities_from_desc_if_not_in_list(): amenity_service_mock = MagicMock(spec=amenity_service) builder = ListingBuilder(amenity_service=amenity_service_mock) builder.listing_attrs_output = MagicMock() builder.listing_attrs_output.get.return_value = 'IGNORE ME' builder._build_amenities() builder.listing_attrs_output.get.assert_called_with(listing_builder.DESCRIPTION)
def test_builder_delegates_amenitiy_lookup_to_parser(): expected_amenities = [1, 2, 3] text_parser_mock = MagicMock(spec=text_parser) text_parser_mock.get_canonical_name_from_keywords = MagicMock(return_value=expected_amenities) amenity_service_mock = MagicMock(spec=amenity_service) builder = ListingBuilder(text_parser=text_parser_mock, amenity_service=amenity_service_mock) builder.listing_attrs_output = MagicMock() builder.listing_attrs_output.get.return_value = 'IGNORE ME' builder._build_amenities() assert builder.listing_attrs_output.__setitem__.call_args_list[0] == call( listing_builder.AMENITIES, expected_amenities )