Porting golang yelp wrapper to v3-fusion-api

This commit is contained in:
2018-03-28 00:06:15 +02:00
parent 2be94f4c7b
commit c4f8b16a01
14 changed files with 891 additions and 1 deletions

View File

@@ -0,0 +1,89 @@
package yelp
import (
"testing"
"github.com/guregu/null"
)
// TestGeneralOptions will verify search with location and search term.
func TestGeneralOptions(t *testing.T) {
client := getClient(t)
options := SearchOptions{
GeneralOptions: &GeneralOptions{
Term: "coffee",
},
LocationOptions: &LocationOptions{
Location: "seattle",
},
}
result, err := client.DoSearch(options)
check(t, err)
assert(t, len(result.Businesses) > 0, containsResults)
}
// TestUnescapedCharactersInGeneralOptions verify URL escaped characters do not cause search to fail.
func TestUnescapedCharactersInGeneralOptions(t *testing.T) {
client := getClient(t)
options := SearchOptions{
GeneralOptions: &GeneralOptions{
Term: "Frimark Keller & Associates",
},
LocationOptions: &LocationOptions{
Location: "60173",
},
}
result, err := client.DoSearch(options)
check(t, err)
assert(t, len(result.Businesses) > 0, containsResults)
}
// TestMultipleCategories will perform a search with multiple categories on the general options filter.
func TestMultipleCategories(t *testing.T) {
client := getClient(t)
options := SearchOptions{
GeneralOptions: &GeneralOptions{
CategoryFilter: "climbing,bowling",
},
LocationOptions: &LocationOptions{
Location: "Seattle",
},
}
result, err := client.DoSearch(options)
check(t, err)
assert(t, len(result.Businesses) > 0, containsResults)
}
// TestLimit verify the limit parameter works as expected.
func TestLimit(t *testing.T) {
client := getClient(t)
options := SearchOptions{
GeneralOptions: &GeneralOptions{
Term: "Coffee",
Limit: null.IntFrom(15),
},
LocationOptions: &LocationOptions{
Location: "Seattle",
},
}
result, err := client.DoSearch(options)
check(t, err)
assert(t, len(result.Businesses) == 15, "There should be 15 results.")
}
// TestLocaleOptions will verify doing a search that includes locale options.
func TestLocaleOptions(t *testing.T) {
client := getClient(t)
options := SearchOptions{
GeneralOptions: &GeneralOptions{
Term: "coffee",
Locale: "en_US",
},
LocationOptions: &LocationOptions{
Location: "seattle",
},
}
result, err := client.DoSearch(options)
check(t, err)
assert(t, len(result.Businesses) > 0, containsResults)
}