forked from paymydrink/go-yelp-fusion
90 lines
2.2 KiB
Go
90 lines
2.2 KiB
Go
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)
|
|
}
|