Path: blob/master/lib/remote/local_scanner_test.go
988 views
package remote12import (3"github.com/stretchr/testify/assert"4"github.com/sundowndev/phoneinfoga/v2/lib/filter"5"github.com/sundowndev/phoneinfoga/v2/lib/number"6"testing"7)89func TestLocalScanner_Metadata(t *testing.T) {10scanner := NewLocalScanner()11assert.Equal(t, Local, scanner.Name())12assert.NotEmpty(t, scanner.Description())13}1415func TestLocalScanner(t *testing.T) {16testcases := []struct {17name string18number *number.Number19expected map[string]interface{}20wantErrors map[string]error21}{22{23name: "successful scan",24number: func() *number.Number {25n, _ := number.NewNumber("15556661212")26return n27}(),28expected: map[string]interface{}{29"local": LocalScannerResponse{30RawLocal: "5556661212",31Local: "(555) 666-1212",32E164: "+15556661212",33International: "15556661212",34CountryCode: 1,35},36},37wantErrors: map[string]error{},38},39}4041for _, tt := range testcases {42t.Run(tt.name, func(t *testing.T) {43scanner := NewLocalScanner()44remote := NewLibrary(filter.NewEngine())45remote.AddScanner(scanner)4647if scanner.DryRun(*tt.number, ScannerOptions{}) != nil {48t.Fatal("DryRun() should return nil")49}5051got, errs := remote.Scan(tt.number, ScannerOptions{})52if len(tt.wantErrors) > 0 {53assert.Equal(t, tt.wantErrors, errs)54} else {55assert.Len(t, errs, 0)56}57assert.Equal(t, tt.expected, got)58})59}60}616263