dadata/dadata_test.go

115 lines
2.3 KiB
Go
Raw Normal View History

2019-04-09 17:08:32 +03:00
package dadata
import (
"context"
"fmt"
"os"
"testing"
"github.com/ekomobile/dadata/v2/api/suggest"
"github.com/stretchr/testify/suite"
)
type (
ApiSuggestIntegrationTest struct {
suite.Suite
}
)
func (s *ApiSuggestIntegrationTest) SetupSuite() {
if _, ok := os.LookupEnv("DADATA_API_KEY"); !ok {
s.Suite.T().Skip("no api keys in env")
}
}
func (s *ApiSuggestIntegrationTest) TestAddress() {
api := NewSuggestApi()
params := suggest.RequestParams{
Query: "ул Свободы",
}
res, err := api.Address(context.Background(), &params)
s.NoError(err)
s.NotEmpty(res)
}
func (s *ApiSuggestIntegrationTest) TestBank() {
api := NewSuggestApi()
params := suggest.RequestParams{
Query: "сбербанк",
}
res, err := api.Bank(context.Background(), &params)
s.NoError(err)
s.NotEmpty(res)
}
func (s *ApiSuggestIntegrationTest) TestParty() {
api := NewSuggestApi()
params := suggest.RequestParams{
Query: "сбербанк",
}
res, err := api.Party(context.Background(), &params)
s.NoError(err)
s.NotEmpty(res)
}
func (s *ApiSuggestIntegrationTest) TestCountry() {
api := NewSuggestApi()
params := suggest.RequestParams{
Query: "росс",
}
res, err := api.Country(context.Background(), &params)
s.NoError(err)
s.NotEmpty(res)
}
func (s *ApiSuggestIntegrationTest) TestName() {
api := NewSuggestApi()
params := suggest.RequestParams{
Query: "але",
}
res, err := api.Name(context.Background(), &params)
s.NoError(err)
s.NotEmpty(res)
}
func (s *ApiSuggestIntegrationTest) TestEmail() {
api := NewSuggestApi()
params := suggest.RequestParams{
Query: "ax",
}
res, err := api.Email(context.Background(), &params)
s.NoError(err)
s.NotEmpty(res)
}
2019-04-10 11:49:20 +03:00
func (s *ApiSuggestIntegrationTest) TestFMSUnit() {
api := NewSuggestApi()
params := suggest.RequestParams{
Query: "увд",
}
res, err := api.FMSUnit(context.Background(), &params)
s.NoError(err)
s.NotEmpty(res)
}
2019-04-09 17:08:32 +03:00
func TestSuggestApiIntegration(t *testing.T) {
suite.Run(t, &ApiSuggestIntegrationTest{})
}
func ExampleNewSuggestApi() {
api := NewSuggestApi()
params := suggest.RequestParams{
Query: "ул Свободы",
}
suggestions, err := api.Address(context.Background(), &params)
if err != nil {
return
}
for _, s := range suggestions {
fmt.Printf("%s", s.Value)
}
}