package lkgateway import ( "net/http/httptest" "net/url" "strings" "testing" ) func TestM2MQtyOverrides(t *testing.T) { c := m2mCase{ID: "2", Secs: []m2mSec{sSBER("10"), {ISIN: "RU000A0JUR61", Code: "PAI", Qty: "5", Frac: true}}} form := url.Values{"qty_RU0009029540": {"1"}, "qty_RU000A0JUR61": {"2,5"}} r := httptest.NewRequest("POST", "/admin/m2m-testing/initiate", strings.NewReader(form.Encode())) r.Header.Set("Content-Type", "application/x-www-form-urlencoded") got := m2mQtyOverrides(r, c) if got["RU0009029540"] != "1" || got["RU000A0JUR61"] != "2.5" { t.Fatalf("количество: %v", got) } if note := m2mQtyNote(c, got); !strings.Contains(note, "SBER/03 × 1 (по плану 10)") { t.Fatalf("отметка: %q", note) } bad := httptest.NewRequest("GET", "/?qty_RU0009029540=1.5&qty_RU000A0JUR61=-1", nil) if got := m2mQtyOverrides(bad, c); len(got) != 0 { t.Fatalf("дробное для акций и отрицательное — игнорировать: %v", got) } }