const { test, expect } = require('@playwright/test'); const { HomePage } = require('../tests/pages/home.page'); const { faker } = require('./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(); }); });