1
import axios from 'axios';
2
import fs from 'node:fs/promises';
3
import type { Environment } from 'vitest';
4
import { USER } from '../common/variables';
5
import { getReversedTestIndex } from './sequential-tests';
6
import { sleep } from '../utils/sleep';
8
export default <Environment>{
13
const { totalTestsCount } = JSON.parse(await fs.readFile('sequencer-data.json', 'utf8'));
14
const testFilePath = global.__vitest_worker__.ctx.files[0].split('blackbox')[1];
15
const serverUrl = process.env['serverUrl'];
17
if (!serverUrl || isNaN(totalTestsCount)) {
18
throw 'Missing flow env variables';
21
const testIndex = getReversedTestIndex(testFilePath, global.__vitest_worker__.ctx.config.name);
23
while (testIndex !== 0) {
25
const response = await axios.get(`${serverUrl}/items/tests_flow_completed`, {
27
'aggregate[count]': 'id',
30
Authorization: `Bearer ${USER.TESTS_FLOW.TOKEN}`,
34
const completedCount = Number(response.data.data[0].count.id);
37
if (completedCount >= testIndex) break;
38
} else if (totalTestsCount + testIndex === completedCount) {
51
test_file_path: testFilePath,
54
await axios.post(`${serverUrl}/items/tests_flow_completed`, body, {
56
Authorization: `Bearer ${USER.TESTS_FLOW.TOKEN}`,
57
'Content-Type': 'application/json',