merch-api/internal/merch/provider_test.go

76 lines
1.7 KiB
Go
Raw Normal View History

2026-03-08 16:42:37 +03:00
package merch
import (
"merch-api/internal/common"
"merch-api/pkg/utils"
"reflect"
"testing"
)
func Test_provider_convertTasks(t *testing.T) {
type fields struct {
service *service
utils utils.Utils
}
type args struct {
rawTasks []taskData
}
tests := []struct {
name string
fields fields
args args
want []common.Task
}{
{
name: "Success convert tasks",
fields: fields{
service: nil,
utils: nil,
},
args: args{[]taskData{
{"1", "surugaya", "url"},
{"1", "mandarake", "url"},
{"1", "amiami", "url"},
{"2", "surugaya", "url"},
{"2", "mandarake", "url"},
{"2", "amiami", "url"},
{"3", "surugaya", "url"},
{"3", "amiami", "url"},
{"4", "amiami", "url"},
}},
want: []common.Task{
{"1", map[string]string{"surugaya": "url", "mandarake": "url", "amiami": "url"}},
{"2", map[string]string{"surugaya": "url", "mandarake": "url", "amiami": "url"}},
{"3", map[string]string{"surugaya": "url", "amiami": "url"}},
{"4", map[string]string{"amiami": "url"}},
},
},
{
name: "Success convert tasks",
fields: fields{
service: nil,
utils: nil,
},
args: args{[]taskData{
{"1", "surugaya", "url"},
{"1", "mandarake", "url"},
{"1", "amiami", "url"},
}},
want: []common.Task{
{"1", map[string]string{"surugaya": "url", "mandarake": "url", "amiami": "url"}},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
p := &provider{
service: tt.fields.service,
utils: tt.fields.utils,
}
if got := p.convertTasks(tt.args.rawTasks); !reflect.DeepEqual(got, tt.want) {
t.Errorf("convertTasks() = %v, want %v", got, tt.want)
}
})
}
}