forked from extern/bruno
5ad9be4f6b
* add selector ID * add createNewRequest flow * selector update
50 lines
1.7 KiB
JavaScript
50 lines
1.7 KiB
JavaScript
const { test, expect } = require('@playwright/test');
|
|
const { HomePage } = require('../tests/pages/home.page');
|
|
import * as faker from './utils/data-faker';
|
|
|
|
test.describe('bruno e2e test', () => {
|
|
let homePage;
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
homePage = new HomePage(page);
|
|
|
|
await homePage.open();
|
|
await expect(page).toHaveURL('/');
|
|
await expect(page).toHaveTitle(/bruno/);
|
|
});
|
|
|
|
test('user should be able to create new collection & new request', async () => {
|
|
await homePage.createNewCollection(faker.randomWords);
|
|
await expect(homePage.createNewCollectionSuccessToast).toBeVisible();
|
|
|
|
// using fake data to simulate negative case
|
|
await homePage.createNewRequest(faker.randomVerb, faker.randomHttpMethod, faker.randomUrl);
|
|
await expect(homePage.networkErrorToast).toBeVisible();
|
|
|
|
// using real data to simulate positive case
|
|
await homePage.createNewRequest('Single User', 'GET', 'https://reqres.in/api/users/2');
|
|
await expect(homePage.statusRequestSuccess).toBeVisible();
|
|
});
|
|
|
|
test('user should be able to load & use sample collection', async () => {
|
|
await homePage.loadSampleCollection();
|
|
await expect(homePage.loadSampleCollectionSuccessToast).toBeVisible();
|
|
|
|
await homePage.getUsers();
|
|
await expect(homePage.statusRequestSuccess).toBeVisible();
|
|
|
|
await homePage.getSingleUser();
|
|
await expect(homePage.statusRequestSuccess).toBeVisible();
|
|
|
|
await homePage.getUserNotFound();
|
|
await expect(homePage.statusRequestNotFound).toBeVisible();
|
|
|
|
await homePage.createUser();
|
|
await expect(homePage.statusRequestCreated).toBeVisible();
|
|
|
|
await homePage.updateUser();
|
|
await expect(homePage.statusRequestSuccess).toBeVisible();
|
|
});
|
|
|
|
});
|