
Security News
GitHub Actions Pricing Whiplash: Self-Hosted Actions Billing Change Postponed
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.
@trackunit/iris-app-e2e
Advanced tools
A comprehensive E2E testing utilities library for Trackunit's Iris platform. This package provides reusable Cypress commands, setup utilities, and configuration helpers to streamline E2E testing for both internal and external developers.
A comprehensive E2E testing utilities library for Trackunit's Iris platform. This package provides reusable Cypress commands, setup utilities, and configuration helpers to streamline E2E testing for both internal and external developers.
This library is exposed publicly for use in the Trackunit Iris App SDK.
To browse all available components visit the Design System.
For more info and a full guide on Iris App SDK Development, please visit our Developer Hub.
npm install @trackunit/iris-app-e2e --save-dev
This package requires the following peer dependencies:
npm install cypress @testing-library/cypress --save-dev
getByTestId - Enhanced data-testid selector with timeout optionslogin - Automated login with support for multiple user fixturesswitchToLocalDevMode - Switch to local development mode in Iris SDK portalenterIrisApp - Navigate into Iris app iframes for testingenterStorybookPreview - Access Storybook preview iframesgetValidateFeatureFlags - Set up feature flag validation interceptsconfigCat - Retrieve ConfigCat feature flag statessetupE2E - Complete E2E test environment setupsetupHarRecording - HAR file recording for failed testsdefaultCypressConfig - Configurable Cypress configurationsetupPlugins - Plugin setup with logging and HAR generationCreate a cypress/support/e2e.ts file:
import { setupDefaultCommands, setupE2E } from '@trackunit/iris-app-e2e';
// Set up E2E environment
setupE2E();
// Register custom commands
setupDefaultCommands();
Create a cypress.config.ts file:
import { defineConfig } from 'cypress';
import { defaultCypressConfig, setupPlugins } from '@trackunit/iris-app-e2e';
import { install } from '@neuralegion/cypress-har-generator';
import { format, resolveConfig } from 'prettier';
export default defineConfig({
e2e: {
...defaultCypressConfig(__dirname),
setupNodeEvents(on, config) {
setupPlugins(
on,
config,
{ format, resolveConfig }, // Prettier formatter
install // HAR generator installer
);
}
}
});
import { defineConfig } from 'cypress';
import { defaultCypressConfig, setupPlugins } from '@trackunit/iris-app-e2e';
import { install } from '@neuralegion/cypress-har-generator';
import { format, resolveConfig } from 'prettier';
export default defineConfig({
e2e: {
...defaultCypressConfig({
// Optional: Custom configuration
behaviorConfig: {
defaultCommandTimeout: 30000,
retries: { runMode: 2, openMode: 0 }
}
}),
setupNodeEvents(on, config) {
setupPlugins(
on,
config,
{ format, resolveConfig }, // Prettier formatter
install // HAR generator installer
);
}
}
});
describe('Iris App E2E Tests', () => {
it('should login and navigate to app', () => {
// Login with default user
cy.login();
// Or login with specific fixture
cy.login('managere2e-admin');
// Find elements by test ID
cy.getByTestId('navigation-menu').should('be.visible');
// Switch to local development mode
cy.switchToLocalDevMode();
// Enter an Iris app iframe
cy.enterIrisApp().then(app => {
app().getByTestId('app-content').should('exist');
});
});
it('should check feature flags', () => {
cy.getValidateFeatureFlags();
cy.configCat('my-feature-flag').then(isEnabled => {
if (isEnabled) {
cy.getByTestId('feature-content').should('be.visible');
}
});
});
});
interface E2EConfigOptions {
nxRoot?: string; // NX workspace root (auto-detected)
outputDirOverride?: string; // Custom output directory
projectConfig?: E2EProjectConfig; // Project-specific settings
behaviorConfig?: E2EBehaviorConfig; // Timeout and retry settings
pluginConfig?: E2EPluginConfig; // Output path configuration
}
NX_FEATURE_BRANCH_BASE_URL - Override base URL for testingNX_E2E_OUTPUT_DIR - Custom E2E output directoryThe library uses Trackunit's standard authentication flow:
/env endpointSupported user fixture files:
auth (default)Example fixture file (cypress/fixtures/auth.json):
{
"username": "test@example.com",
"password": "your-password"
}
Tests run against the same Trackunit infrastructure:
/env endpointSet the base URL via Cypress configuration or environment variables to target different environments (staging, production, etc.).
Failed tests automatically generate HAR files for debugging:
The package includes comprehensive TypeScript definitions for all Cypress commands and configuration options. Your IDE will provide full autocomplete and type checking.
At this point this library is only developed by Trackunit Employees. For development related information see the development readme.
This package was developed by Trackunit ApS. Trackunit is the leading SaaS-based IoT solution for the construction industry, offering an ecosystem of hardware, fleet management software & telematics.
FAQs
A comprehensive E2E testing utilities library for Trackunit's Iris platform. This package provides reusable Cypress commands, setup utilities, and configuration helpers to streamline E2E testing for both internal and external developers.
The npm package @trackunit/iris-app-e2e receives a total of 26 weekly downloads. As such, @trackunit/iris-app-e2e popularity was classified as not popular.
We found that @trackunit/iris-app-e2e demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.