Skip to content

Commit d31f032

Browse files
ankur22inancgumus
authored andcommitted
Refactor test
Work with slices.IndexFunc and sort HeadersArray before comparing the response and expected.
1 parent 6daf07f commit d31f032

File tree

1 file changed

+9
-38
lines changed

1 file changed

+9
-38
lines changed

internal/js/modules/k6/browser/tests/page_test.go

+9-38
Original file line numberDiff line numberDiff line change
@@ -2737,45 +2737,16 @@ func TestPageOnResponse(t *testing.T) {
27372737
},
27382738
}
27392739

2740-
// Compare each request one by one for better test failure visibility
2740+
// Compare each response one by one for better test failure visibility
27412741
for _, resp := range responses {
2742-
i := -1
2743-
for j, e := range expected {
2744-
if resp.RequestURL == e.RequestURL {
2745-
i = j
2746-
break
2747-
}
2748-
}
2749-
assert.NotEqual(t, -1, i, "failed to find expected response with request URL %s", resp.RequestURL)
2750-
2751-
assert.Equal(t, expected[i].AllHeaders, resp.AllHeaders, "AllHeaders mismatch")
2752-
assert.Equal(t, expected[i].Body, resp.Body, "Body mismatch")
2753-
assert.Equal(t, expected[i].FrameURL, resp.FrameURL, "FrameUrl mismatch")
2754-
assert.Equal(t, expected[i].AcceptLanguageHeader, resp.AcceptLanguageHeader, "AcceptLanguageHeader mismatch")
2755-
assert.Equal(t, expected[i].AcceptLanguageHeaders, resp.AcceptLanguageHeaders, "AcceptLanguageHeaders mismatch")
2756-
assert.Equal(t, expected[i].Headers, resp.Headers, "Headers mismatch")
2757-
assert.Equal(t, expected[i].JSON, resp.JSON, "JSON mismatch")
2758-
assert.Equal(t, expected[i].OK, resp.OK, "OK mismatch")
2759-
assert.Equal(t, expected[i].RequestURL, resp.RequestURL, "RequestURL mismatch")
2760-
assert.Equal(t, expected[i].SecurityDetails, resp.SecurityDetails, "SecurityDetails mismatch")
2761-
assert.Equal(t, expected[i].ServerAddr, resp.ServerAddr, "ServerAddr mismatch")
2762-
assert.Equal(t, expected[i].Size, resp.Size, "Size mismatch")
2763-
assert.Equal(t, expected[i].Status, resp.Status, "Status mismatch")
2764-
assert.Equal(t, expected[i].StatusText, resp.StatusText, "StatusText mismatch")
2765-
assert.Equal(t, expected[i].URL, resp.URL, "URL mismatch")
2766-
assert.Equal(t, expected[i].Text, resp.Text, "Text mismatch")
2767-
2768-
// Compare HeadersArray elements one by one
2769-
assert.Equal(t, len(expected[i].HeadersArray), len(resp.HeadersArray), "HeadersArray length mismatch")
2770-
for _, expectedHeader := range expected[i].HeadersArray {
2771-
found := false
2772-
for _, actualHeader := range resp.HeadersArray {
2773-
if expectedHeader["name"] == actualHeader["name"] && expectedHeader["value"] == actualHeader["value"] {
2774-
found = true
2775-
break
2776-
}
2777-
}
2778-
assert.True(t, found, fmt.Sprintf("Expected header {name: %s, value: %s} not found in actual headers", expectedHeader["name"], expectedHeader["value"]))
2742+
i := slices.IndexFunc(expected, func(r response) bool { return resp.URL == r.URL })
2743+
assert.NotEqual(t, -1, i, "failed to find expected request with URL %s", resp.URL)
2744+
2745+
sortByName := func(m1, m2 map[string]string) int {
2746+
return strings.Compare(m1["name"], m2["name"])
27792747
}
2748+
slices.SortFunc(resp.HeadersArray, sortByName)
2749+
slices.SortFunc(expected[i].HeadersArray, sortByName)
2750+
assert.Equal(t, expected[i], resp)
27802751
}
27812752
}

0 commit comments

Comments
 (0)