Testing the correct UI behaviour when an API returns an empty array is an important edge case. You can simulate the network without a real backend using network simulation (page.route).
route.fulfill({ status, contentType, body }) returns a fake response to the request. Passing '[]' as body makes the API behave as if it returned zero results — it is then your job to verify whether the UI shows the empty state.
page is already available. Intercept the request to /api/products and respond with an empty array.
Either a glob pattern (**/products) or an exact path is accepted.