@elliemae/smoked-suite
v26.3.1
Published
Shared Playwright test infrastructure for ICE micro-frontend apps running inside encw
Readme
smoked-suite
Shared Playwright test infrastructure for ICE micro-frontend apps running inside encw (Encompass Web).
Part of the encw-libraries monorepo.
Previously maintained at EncompassWeb/smoked-suite (now archived).
Installation
pnpm add -D @elliemae/smoked-suite @playwright/testQuick Start
import { BaseTest } from '@elliemae/smoked-suite';
import { SelectSettingsPage } from '../page-objects';
class SelectSettingsSpec extends BaseTest {
private settingsPage!: SelectSettingsPage;
async beforeEach() {
await this.goToEmAdminUI();
this.settingsPage = new SelectSettingsPage(() => this.appFrame);
}
async testPageLoads() {
await this.goto('/admin/oneadmin/migrate');
await this.expect(this.settingsPage.container).toBeVisible();
}
}
SelectSettingsSpec.run();What It Provides
- BaseTest — Test runner orchestrator with auth, iframe resolution, micro-app navigation
- BasePage — Page object base class with ContextProvider pattern and locator helpers
- AuthManager — encw login, session-storage capture/inject, TTL caching
- PageSetup — Init scripts, error-overlay suppression, analytics blocking
- createPlaywrightConfig — Config factory with sensible defaults, coverage support
- globalSetup — Worker-level auth setup function
- getRoutePath — Route resolution utility
- BrowserStack — Integration utilities for BrowserStack cloud testing
- Coverage — V8 code coverage collection via monocart-reporter
Development
# From monorepo root
pnpm --filter @elliemae/smoked-suite build # Production build
pnpm --filter @elliemae/smoked-suite test # Run unit tests
pnpm --filter @elliemae/smoked-suite lint # Lint
pnpm --filter @elliemae/smoked-suite tscheck # TypeScript check