package plati import ( "bytes" "encoding/json" "io" "reflect" "testing" ) func Test_parseGoodsCategory(t *testing.T) { type args struct { body io.Reader } tests := []struct { name string args args want []*Good wantErr bool }{ { name: "final_fantasy", args: args{ body: bytes.NewReader([]byte(`

Название товара
Продавец рейтинг
Продано
1
498 руб.
`)), }, want: []*Good{ { Name: "FINAL FANTASY TYPE-0 HD (Steam Gift Россия)", GoodLink: "/itm/final-fantasy-type-0-hd-steam-gift-ru/4026129", Seller: "IgorDeRish", SellerLink: "/seller/igorderish/197847", SellerRating: 582, Sold: 1, Price: 498.0, }, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got, err := parseGoodsCategory(tt.args.body) if (err != nil) != tt.wantErr { t.Errorf("parseGoodsCategory() error = %v, wantErr %v", err, tt.wantErr) return } if !reflect.DeepEqual(got, tt.want) { gotJson, _ := json.Marshal(got) wantJson, _ := json.Marshal(tt.want) t.Errorf("parseGoodsCategory() = %s, want %s", string(gotJson), string(wantJson)) } }) } }