def test_multiple_nearest_stores(monkeypatch, df): def mockloadfile(data_file): return fs = find_store.FindStore(settings.GOOGLE_API_KEY) monkeypatch.setattr(fs, 'load_data_file', mockloadfile) fs.load_data_file("test.csv") monkeypatch.setattr(fs, '_df', df) actual_output = fs.find_nearest_store("94086", miles=True, text_output=False) expected_output = """[ { "Address": "store1 address", "City": "city", "County": "county", "Distance": 36.68501517148529, "Latitude": 37.7820964, "Longitude": -122.4464697, "State": "CA", "Store Location": "store1 location", "Store Name": "store1", "Zip Code": "94118" }, { "Address": "store2 address", "City": "city", "County": "county", "Distance": 36.68501517148529, "Latitude": 37.7820964, "Longitude": -122.4464697, "State": "CA", "Store Location": "store2 location", "Store Name": "store2", "Zip Code": "94118" } ]""" assert actual_output == expected_output
def test_no_store_data(): fs = find_store.FindStore(settings.GOOGLE_API_KEY) with pytest.raises(ValueError): fs.find_nearest_store("94086", miles=True, text_output=True)
def test_invalid_api_key(): with pytest.raises(ValueError): fs = find_store.FindStore('abc') fs.find_nearest_store("94086", miles=True, text_output=True)
def test_csv_no_exist(): fs = find_store.FindStore(settings.GOOGLE_API_KEY) with pytest.raises(FileNotFoundError): fs.load_data_file("non_existent_file.csv") fs.find_nearest_store("94086", miles=True, text_output=False)
def findstore(): fs = find_store.FindStore(settings.GOOGLE_API_KEY) directory = dirname(dirname(abspath(__file__))) data_file = join(directory, 'src/find_store/store-locations.csv') fs.load_data_file(data_file) return fs