Skip to content

Commit 1547695

Browse files
committed
update
1 parent 5bad75a commit 1547695

File tree

5 files changed

+32
-18
lines changed

5 files changed

+32
-18
lines changed

auth.go

+3
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,18 @@ import (
55
"time"
66
)
77

8+
//Authentication token
89
type AuthToken struct {
910
Token string
1011
ExpiresAt int64
1112
}
1213

14+
//Check token is valid
1315
func (t *AuthToken) IsValid() bool {
1416
return t.IsNotExpired() && t.Token != ""
1517
}
1618

19+
//Check token is not expired
1720
func (t *AuthToken) IsNotExpired() bool {
1821
ts := time.Now().Unix()
1922
return t.ExpiresAt > ts

sales.go

+6
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
package appstore_sdk
22

3+
import "fmt"
4+
35
type SalesReportsResource struct {
46
*ResourceAbstract
57
}
68

79
func (srr *SalesReportsResource) GetReport(filter *SalesReportsFilter) (*Response, error) {
810
filter.VendorNumber = srr.config.VendorNo
11+
err := filter.IsValid()
12+
if err != nil {
13+
return nil, fmt.Errorf("SalesReportsResource@GetReport invalid filter: %v", err)
14+
}
915
return srr.get("v1/salesReports", filter.ToQueryParamsMap())
1016
}

sales_filters.go

-3
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,5 @@ func (f *SalesReportsFilter) IsValid() error {
155155
if f.Frequency == "" {
156156
return fmt.Errorf("SalesReportsFilter@IsValid: %v", "Frequency is required")
157157
}
158-
if f.VendorNumber == "" {
159-
return fmt.Errorf("SalesReportsFilter@IsValid: %v", "VendorNumber is required")
160-
}
161158
return nil
162159
}

sales_filters_test.go

+5-15
Original file line numberDiff line numberDiff line change
@@ -77,33 +77,23 @@ func Test_SalesReports_Filter_SetVersion(t *testing.T) {
7777
}
7878

7979
func Test_SalesReports_Filter_IsValid(t *testing.T) {
80-
filter := &SalesReportsFilter{VendorNumber: "foo"}
80+
filter := &SalesReportsFilter{}
8181
date, _ := time.Parse("2006-01-02", "2020-05-05")
8282
filter.Daily().TypeSales().SubTypeSummary().Version10().SetReportDate(date)
8383
err := filter.IsValid()
8484
assert.Nil(t, err)
8585
}
8686

8787
func Test_SalesReports_Filter_IsInValidReportDate(t *testing.T) {
88-
filter := &SalesReportsFilter{VendorNumber: "foo"}
88+
filter := &SalesReportsFilter{}
8989
filter.Daily().TypeSales().SubTypeSummary().Version10()
90-
filter.VendorNumber = ""
9190
err := filter.IsValid()
9291
assert.Error(t, err)
9392
assert.Equal(t, "SalesReportsFilter@IsValid: ReportDate is required", err.Error())
9493
}
9594

96-
func Test_SalesReports_Filter_IsInValidVendorNumber(t *testing.T) {
97-
filter := &SalesReportsFilter{}
98-
date, _ := time.Parse("2006-01-02", "2020-05-05")
99-
filter.Daily().TypeSales().SubTypeSummary().Version10().SetReportDate(date)
100-
err := filter.IsValid()
101-
assert.Error(t, err)
102-
assert.Equal(t, "SalesReportsFilter@IsValid: VendorNumber is required", err.Error())
103-
}
104-
10595
func Test_SalesReports_Filter_IsInValidReportType(t *testing.T) {
106-
filter := &SalesReportsFilter{VendorNumber: "foo"}
96+
filter := &SalesReportsFilter{}
10797
date, _ := time.Parse("2006-01-02", "2020-05-05")
10898
filter.Daily().SubTypeSummary().Version10().SetReportDate(date)
10999
err := filter.IsValid()
@@ -112,7 +102,7 @@ func Test_SalesReports_Filter_IsInValidReportType(t *testing.T) {
112102
}
113103

114104
func Test_SalesReports_Filter_IsInValidReportSubType(t *testing.T) {
115-
filter := &SalesReportsFilter{VendorNumber: "foo"}
105+
filter := &SalesReportsFilter{}
116106
date, _ := time.Parse("2006-01-02", "2020-05-05")
117107
filter.Daily().TypeSales().Version10().SetReportDate(date)
118108
err := filter.IsValid()
@@ -121,7 +111,7 @@ func Test_SalesReports_Filter_IsInValidReportSubType(t *testing.T) {
121111
}
122112

123113
func Test_SalesReports_Filter_IsInValidFrequency(t *testing.T) {
124-
filter := &SalesReportsFilter{VendorNumber: "foo"}
114+
filter := &SalesReportsFilter{}
125115
date, _ := time.Parse("2006-01-02", "2020-05-05")
126116
filter.SubTypeSummary().TypeSales().Version10().SetReportDate(date)
127117
err := filter.IsValid()

sales_test.go

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package appstore_sdk
2+
3+
import (
4+
"github.com/stretchr/testify/assert"
5+
"testing"
6+
)
7+
8+
func Test_Sales_GetReport_InvalidFilter(t *testing.T) {
9+
config := buildStubConfig()
10+
token := buildStubAuthToken()
11+
transport := NewHttpTransport(config, token, nil)
12+
resource := &SalesReportsResource{ResourceAbstract: newResourceAbstract(transport, config)}
13+
filter := &SalesReportsFilter{}
14+
filter.Daily().TypeSales().SubTypeSummary().Version10()
15+
_, err := resource.GetReport(filter)
16+
assert.Error(t, err)
17+
assert.Equal(t, "SalesReportsResource@GetReport invalid filter: SalesReportsFilter@IsValid: ReportDate is required", err.Error())
18+
}

0 commit comments

Comments
 (0)