You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is MSW http added simply for convenience of not having to re-import from MSW in tests files?
Here's an example from the docs:
import { test as base, expect } from '@playwright/test';
import { http } from 'msw';
import type { MockServiceWorker } from 'playwright-msw';
import { createWorkerFixture } from 'playwright-msw';
import handlers from './handlers';
const test = base.extend<{
worker: MockServiceWorker;
http: typeof http;
}>({
worker: createWorkerFixture(handlers),
http
});
export { expect, test };
test.only('should allow mocks to be overridden on a per test basis', async ({
page,
worker,
http
}) => {
await worker.use(
http.get('/api/users', async () => {
await delay(250);
return new HttpResponse(null, {
status: 403,
});
}),
);
...
I decided to go more with an API like this so I don't add http to the test fixtures, instead I import a handler with defaults I overwrite for specific tests:
import { faker } from '@faker-js/faker'
import { getUser } from './handlers'
import { expect, test } from './test'
test.describe('developer dashboard page', () => {
test('given user is not logged in', async ({ page, worker, loginPage, devDashboardPage }) => {
await test.step('then navigate to dashboard', async () => {
await devDashboardPage.goto()
await expect(page, 'should redirect to /login').toHaveURL(/login/)
})
await test.step('then sign in', async () => {
const login = faker.internet.userName()
await worker.use(getUser({ login }))
await loginPage.signInLink().click()
await expect.soft(page, 'should redirect to /').toHaveURL(/\//)
await expect(devDashboardPage.userProfileLogin(login), 'should load user info').toBeVisible()
})
await test.step('then sign out', async () => {
await devDashboardPage.userProfileImage().click()
await devDashboardPage.signOutButton().click()
await expect(page, 'should redirect to /login').toHaveURL(/login/)
})
})
})
The text was updated successfully, but these errors were encountered:
Is MSW
http
added simply for convenience of not having to re-import from MSW in tests files?Here's an example from the docs:
I decided to go more with an API like this so I don't add
http
to the test fixtures, instead I import a handler with defaults I overwrite for specific tests:The text was updated successfully, but these errors were encountered: