Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to do 'beforeEach' only at Fixture level and not for each test under that fixture

I want to run 'beforeEach' only at the fixture level and not for each test under that fixture

fixture `Fixture A for Use Case1`
   .beforeEach(login)

test('A Test 1', async t => {
      await t 
      ---
    }); 

test('A Test 2', async t => {
      await t 
      ---
    }); 
fixture `Fixture B for Use Case2`
    .beforeEach(login)

test('B Test 1', async t => {
      await t 
      ---
    }); 

test('B Test 2', async t => {
      await t 
      ---
    }); 
   
test('B Test 3', async t => {
      await t 
      ---
    }); 

What Is Happening

The login function is being run before every test under 'Fixture A' and 'Fixture B'

What I Need

I want 'login' to run once at the start of every 'Fixture' and not for every test under the fixtures.

Is it possible? I couldn't find a way on documentation.

like image 818
Rattan Behl Avatar asked Oct 30 '25 10:10

Rattan Behl


1 Answers

This is achievable via User Roles and the 'preserve url' option. TestCafe's documentation explains it here: https://devexpress.github.io/testcafe/documentation/test-api/authentication/user-roles.html#optionspreserveurl

like image 195
TallKU Avatar answered Nov 02 '25 22:11

TallKU