Skip to content

Commit

Permalink
Splitted StatusReportOrderReq builder into 2 builders according CDEK …
Browse files Browse the repository at this point in the history
…business logic, added email to order update fields

Co-authored-by: Molodkovets Bohdan <ggcstop@mail.ru>
  • Loading branch information
RagnarGothur and atcdot committed Mar 19, 2020
1 parent 56a6cf8 commit 04c2f04
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 18 deletions.
19 changes: 11 additions & 8 deletions status-report-req-builder.go
Expand Up @@ -60,16 +60,19 @@ func (changePeriod *ChangePeriod) SetDateLast(date time.Time) *ChangePeriod {
return changePeriod
}

//NewStatusReportOrderReq StatusReportOrderReq builder
// dispatchNumber: CDEK shipment number (assigned when orders are imported). Order identifier in the CDEK IS.
// number: Client's shipment number. Order identifier in the IS of the CDEK Client.
// date: Date of an acceptance certificate, based on which the order has been transferred.
func NewStatusReportOrderReq(dispatchNumber int, number string, date time.Time) *StatusReportOrderReq {
//NewStatusReportByCDEKNumberReq StatusReportOrderReq builder by CDEK order number
func NewStatusReportByCDEKIdentifierReq(dispatchNumber int) *StatusReportOrderReq {
return &StatusReportOrderReq{
DispatchNumber: &dispatchNumber,
}
}

//NewStatusReportByClientNumberReq StatusReportOrderReq builder by client order number
func NewStatusReportByClientIdentifierReq(number string, date time.Time) *StatusReportOrderReq {
dateFormatted := date.Format("2006-01-02")

return &StatusReportOrderReq{
DispatchNumber: &dispatchNumber,
Number: &number,
Date: &dateFormatted,
Number: &number,
Date: &dateFormatted,
}
}
44 changes: 34 additions & 10 deletions status-report-req-builder_test.go
Expand Up @@ -469,11 +469,9 @@ func TestChangePeriod_SetDateLast(t *testing.T) {
}
}

func TestNewStatusReportOrderReq(t *testing.T) {
func TestNewStatusReportByCDEKIdentifierReq(t *testing.T) {
type args struct {
dispatchNumber int
number string
date time.Time
}
tests := []struct {
name string
Expand All @@ -484,21 +482,47 @@ func TestNewStatusReportOrderReq(t *testing.T) {
name: "constructor",
args: args{
dispatchNumber: 1,
number: "test_number",
date: time.Date(2019, 7, 15, 0, 0, 0, 0, time.UTC),
},
want: &StatusReportOrderReq{
DispatchNumber: intLink(1),
Number: strLink("test_number"),
Date: strLink("2019-07-15"),
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got := NewStatusReportOrderReq(tt.args.dispatchNumber, tt.args.number, tt.args.date)
if !reflect.DeepEqual(got, tt.want) {
t.Errorf("NewStatusReportOrderReq() = %v, want %v", got, tt.want)
if got := NewStatusReportByCDEKIdentifierReq(tt.args.dispatchNumber); !reflect.DeepEqual(got, tt.want) {
t.Errorf("NewStatusReportByCDEKIdentifierReq() = %v, want %v", got, tt.want)
}
})
}
}

func TestNewStatusReportByClientIdentifierReq(t *testing.T) {
type args struct {
number string
date time.Time
}
tests := []struct {
name string
args args
want *StatusReportOrderReq
}{
{
name: "constructor",
args: args{
number: "test_number",
date: time.Date(2019, 7, 15, 0, 0, 0, 0, time.UTC),
},
want: &StatusReportOrderReq{
Number: strLink("test_number"),
Date: strLink("2019-07-15"),
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := NewStatusReportByClientIdentifierReq(tt.args.number, tt.args.date); !reflect.DeepEqual(got, tt.want) {
t.Errorf("NewStatusReportByClientIdentifierReq() = %v, want %v", got, tt.want)
}
})
}
Expand Down

0 comments on commit 04c2f04

Please sign in to comment.