bruno/tests/home.spec.js

49 lines
1.7 KiB
JavaScript
Raw Normal View History

2022-10-24 21:12:53 +02:00
const { test, expect } = require('@playwright/test');
const { HomePage } = require('../tests/pages/home.page');
import * as faker from './utils/data-faker';
2022-10-24 21:12:53 +02:00
test.describe('bruno e2e test', () => {
let homePage;
test.beforeEach(async ({ page }) => {
2022-10-24 21:12:53 +02:00
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();
});
2022-10-24 21:12:53 +02:00
test('user should be able to load & use sample collection', async () => {
await homePage.loadSampleCollection();
await expect(homePage.loadSampleCollectionSuccessToast).toBeVisible();
2022-10-24 21:12:53 +02:00
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();
});
});