@testspectra/cli 1.0.59 → 1.0.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -32
- package/bin/testspectra-runner +0 -0
- package/dist/commands/add.js +7 -13
- package/dist/commands/init.js +23 -23
- package/dist/commands/run.d.ts +1 -0
- package/dist/commands/run.js +22 -13
- package/dist/index.js +1 -0
- package/dist/server/demo.d.ts +8 -0
- package/dist/server/demo.js +104 -0
- package/dist/types/generator.d.ts +1 -1
- package/dist/types/generator.js +50 -15
- package/package.json +2 -2
- package/templates/default/.cursorrules +18 -0
- package/templates/default/CLAUDE.md +9 -0
- package/templates/default/fixtures/playgroundData.json +7 -0
- package/templates/default/global-hooks/after/mobile.hook.ts +3 -0
- package/templates/default/global-hooks/after/web.hook.ts +3 -0
- package/templates/default/global-hooks/before/mobile.hook.ts +3 -0
- package/templates/default/global-hooks/before/web.hook.ts +3 -0
- package/templates/default/package.json +5 -1
- package/templates/default/page-objects/MatchersPage/mobile.ts +21 -0
- package/templates/default/page-objects/MatchersPage/web.ts +23 -0
- package/templates/default/page-objects/NavigationPage/mobile.ts +5 -0
- package/templates/default/page-objects/NavigationPage/web.ts +8 -0
- package/templates/default/page-objects/PlaygroundPage/mobile.ts +26 -0
- package/templates/default/page-objects/PlaygroundPage/web.ts +29 -0
- package/templates/default/specs/BrowserContext/TC-0007-title-and-navigation/mobile.test.ts +3 -0
- package/templates/default/specs/BrowserContext/TC-0007-title-and-navigation/spec.md +12 -0
- package/templates/default/specs/BrowserContext/TC-0007-title-and-navigation/web.test.ts +5 -0
- package/templates/default/specs/BrowserContext/hooks/after/mobile.hook.ts +1 -0
- package/templates/default/specs/BrowserContext/hooks/after/web.hook.ts +1 -0
- package/templates/default/specs/BrowserContext/hooks/afterEach/mobile.hook.ts +1 -0
- package/templates/default/specs/BrowserContext/hooks/afterEach/web.hook.ts +1 -0
- package/templates/default/specs/BrowserContext/hooks/before/mobile.hook.ts +1 -0
- package/templates/default/specs/BrowserContext/hooks/before/web.hook.ts +1 -0
- package/templates/default/specs/BrowserContext/hooks/beforeEach/mobile.hook.ts +1 -0
- package/templates/default/specs/BrowserContext/hooks/beforeEach/web.hook.ts +1 -0
- package/templates/default/specs/BrowserContext/suite.md +9 -0
- package/templates/default/specs/ContentMatchers/TC-0005-text-and-values/mobile.test.ts +3 -0
- package/templates/default/specs/ContentMatchers/TC-0005-text-and-values/spec.md +12 -0
- package/templates/default/specs/ContentMatchers/TC-0005-text-and-values/web.test.ts +7 -0
- package/templates/default/specs/ContentMatchers/TC-0006-collections-and-empty/mobile.test.ts +3 -0
- package/templates/default/specs/ContentMatchers/TC-0006-collections-and-empty/spec.md +12 -0
- package/templates/default/specs/ContentMatchers/TC-0006-collections-and-empty/web.test.ts +6 -0
- package/templates/default/specs/ContentMatchers/hooks/after/mobile.hook.ts +1 -0
- package/templates/default/specs/ContentMatchers/hooks/after/web.hook.ts +1 -0
- package/templates/default/specs/ContentMatchers/hooks/afterEach/mobile.hook.ts +1 -0
- package/templates/default/specs/ContentMatchers/hooks/afterEach/web.hook.ts +1 -0
- package/templates/default/specs/ContentMatchers/hooks/before/mobile.hook.ts +1 -0
- package/templates/default/specs/ContentMatchers/hooks/before/web.hook.ts +1 -0
- package/templates/default/specs/ContentMatchers/hooks/beforeEach/mobile.hook.ts +1 -0
- package/templates/default/specs/ContentMatchers/hooks/beforeEach/web.hook.ts +1 -0
- package/templates/default/specs/ContentMatchers/suite.md +9 -0
- package/templates/default/specs/ElementMatchers/TC-0003-visibility-and-dom/mobile.test.ts +3 -0
- package/templates/default/specs/ElementMatchers/TC-0003-visibility-and-dom/spec.md +12 -0
- package/templates/default/specs/ElementMatchers/TC-0003-visibility-and-dom/web.test.ts +5 -0
- package/templates/default/specs/ElementMatchers/TC-0004-states-and-attributes/mobile.test.ts +3 -0
- package/templates/default/specs/ElementMatchers/TC-0004-states-and-attributes/spec.md +12 -0
- package/templates/default/specs/ElementMatchers/TC-0004-states-and-attributes/web.test.ts +8 -0
- package/templates/default/specs/ElementMatchers/hooks/after/mobile.hook.ts +1 -0
- package/templates/default/specs/ElementMatchers/hooks/after/web.hook.ts +1 -0
- package/templates/default/specs/ElementMatchers/hooks/afterEach/mobile.hook.ts +1 -0
- package/templates/default/specs/ElementMatchers/hooks/afterEach/web.hook.ts +1 -0
- package/templates/default/specs/ElementMatchers/hooks/before/mobile.hook.ts +1 -0
- package/templates/default/specs/ElementMatchers/hooks/before/web.hook.ts +1 -0
- package/templates/default/specs/ElementMatchers/hooks/beforeEach/mobile.hook.ts +1 -0
- package/templates/default/specs/ElementMatchers/hooks/beforeEach/web.hook.ts +1 -0
- package/templates/default/specs/ElementMatchers/suite.md +9 -0
- package/templates/default/specs/Playground/TC-0001-form-controls/mobile.test.ts +3 -0
- package/templates/default/specs/Playground/TC-0001-form-controls/spec.md +12 -0
- package/templates/default/specs/Playground/TC-0001-form-controls/web.test.ts +6 -0
- package/templates/default/specs/Playground/TC-0002-toggle-elements/mobile.test.ts +3 -0
- package/templates/default/specs/Playground/TC-0002-toggle-elements/spec.md +12 -0
- package/templates/default/specs/Playground/TC-0002-toggle-elements/web.test.ts +6 -0
- package/templates/default/specs/Playground/hooks/after/mobile.hook.ts +1 -0
- package/templates/default/specs/Playground/hooks/after/web.hook.ts +1 -0
- package/templates/default/specs/Playground/hooks/afterEach/mobile.hook.ts +1 -0
- package/templates/default/specs/Playground/hooks/afterEach/web.hook.ts +1 -0
- package/templates/default/specs/Playground/hooks/before/mobile.hook.ts +1 -0
- package/templates/default/specs/Playground/hooks/before/web.hook.ts +1 -0
- package/templates/default/specs/Playground/hooks/beforeEach/mobile.hook.ts +1 -0
- package/templates/default/specs/Playground/hooks/beforeEach/web.hook.ts +1 -0
- package/templates/default/specs/Playground/suite.md +9 -0
- package/templates/default/spectra.config.ts +1 -1
- package/templates/default/support/actions/fillCredentials/mobile.action.ts +4 -0
- package/templates/default/support/actions/fillCredentials/web.action.ts +4 -0
- package/templates/default/support/steps/togglePlaygroundStates/mobile.step.ts +3 -0
- package/templates/default/support/steps/togglePlaygroundStates/step.md +7 -0
- package/templates/default/support/steps/togglePlaygroundStates/web.step.ts +5 -0
- package/templates/default/support/steps/verifyPlaygroundState/mobile.step.ts +4 -0
- package/templates/default/support/steps/verifyPlaygroundState/step.md +7 -0
- package/templates/default/support/steps/verifyPlaygroundState/web.step.ts +6 -0
- package/templates/default/tsconfig.spectra.android.json +7 -4
- package/templates/default/tsconfig.spectra.ios.json +7 -4
- package/templates/default/tsconfig.spectra.web.json +10 -6
- package/templates/nx/.cursorrules +18 -0
- package/templates/nx/CLAUDE.md +10 -0
- package/templates/nx/fixtures/playgroundData.json +7 -0
- package/templates/nx/global-hooks/after/mobile.hook.ts +3 -0
- package/templates/nx/global-hooks/after/web.hook.ts +3 -0
- package/templates/nx/global-hooks/before/mobile.hook.ts +3 -0
- package/templates/nx/global-hooks/before/web.hook.ts +3 -0
- package/templates/nx/package.json +1 -1
- package/templates/nx/{modules/auth → packages/matchers}/e2e/project.json +8 -5
- package/templates/nx/packages/matchers/e2e/specs/BrowserContext/TC-0007-title-and-navigation/mobile.test.ts +3 -0
- package/templates/nx/packages/matchers/e2e/specs/BrowserContext/TC-0007-title-and-navigation/spec.md +12 -0
- package/templates/nx/packages/matchers/e2e/specs/BrowserContext/TC-0007-title-and-navigation/web.test.ts +5 -0
- package/templates/nx/packages/matchers/e2e/specs/BrowserContext/hooks/after/mobile.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/BrowserContext/hooks/after/web.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/BrowserContext/hooks/afterEach/mobile.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/BrowserContext/hooks/afterEach/web.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/BrowserContext/hooks/before/mobile.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/BrowserContext/hooks/before/web.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/BrowserContext/hooks/beforeEach/mobile.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/BrowserContext/hooks/beforeEach/web.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/BrowserContext/suite.md +9 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/TC-0005-text-and-values/mobile.test.ts +3 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/TC-0005-text-and-values/spec.md +12 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/TC-0005-text-and-values/web.test.ts +7 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/TC-0006-collections-and-empty/mobile.test.ts +3 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/TC-0006-collections-and-empty/spec.md +12 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/TC-0006-collections-and-empty/web.test.ts +6 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/hooks/after/mobile.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/hooks/after/web.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/hooks/afterEach/mobile.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/hooks/afterEach/web.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/hooks/before/mobile.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/hooks/before/web.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/hooks/beforeEach/mobile.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/hooks/beforeEach/web.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/suite.md +9 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/TC-0003-visibility-and-dom/mobile.test.ts +3 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/TC-0003-visibility-and-dom/spec.md +12 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/TC-0003-visibility-and-dom/web.test.ts +5 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/TC-0004-states-and-attributes/mobile.test.ts +3 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/TC-0004-states-and-attributes/spec.md +12 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/TC-0004-states-and-attributes/web.test.ts +8 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/hooks/after/mobile.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/hooks/after/web.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/hooks/afterEach/mobile.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/hooks/afterEach/web.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/hooks/before/mobile.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/hooks/before/web.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/hooks/beforeEach/mobile.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/hooks/beforeEach/web.hook.ts +1 -0
- package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/suite.md +9 -0
- package/templates/nx/packages/playground/e2e/project.json +37 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/TC-0001-form-controls/mobile.test.ts +3 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/TC-0001-form-controls/spec.md +12 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/TC-0001-form-controls/web.test.ts +6 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/TC-0002-toggle-elements/mobile.test.ts +3 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/TC-0002-toggle-elements/spec.md +12 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/TC-0002-toggle-elements/web.test.ts +6 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/hooks/after/mobile.hook.ts +1 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/hooks/after/web.hook.ts +1 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/hooks/afterEach/mobile.hook.ts +1 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/hooks/afterEach/web.hook.ts +1 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/hooks/before/mobile.hook.ts +1 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/hooks/before/web.hook.ts +1 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/hooks/beforeEach/mobile.hook.ts +1 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/hooks/beforeEach/web.hook.ts +1 -0
- package/templates/nx/packages/playground/e2e/specs/Playground/suite.md +9 -0
- package/templates/nx/page-objects/MatchersPage/mobile.ts +21 -0
- package/templates/nx/page-objects/MatchersPage/web.ts +23 -0
- package/templates/nx/page-objects/NavigationPage/mobile.ts +5 -0
- package/templates/nx/page-objects/NavigationPage/web.ts +8 -0
- package/templates/nx/page-objects/PlaygroundPage/mobile.ts +26 -0
- package/templates/nx/page-objects/PlaygroundPage/web.ts +29 -0
- package/templates/nx/shared/testing/fixtures/playgroundData.json +7 -0
- package/templates/nx/shared/testing/global-hooks/after/mobile.hook.ts +3 -0
- package/templates/nx/shared/testing/global-hooks/after/web.hook.ts +3 -0
- package/templates/nx/shared/testing/global-hooks/before/mobile.hook.ts +3 -0
- package/templates/nx/shared/testing/global-hooks/before/web.hook.ts +3 -0
- package/templates/nx/shared/testing/page-objects/MatchersPage/mobile.ts +21 -0
- package/templates/nx/shared/testing/page-objects/MatchersPage/web.ts +23 -0
- package/templates/nx/shared/testing/page-objects/NavigationPage/mobile.ts +5 -0
- package/templates/nx/shared/testing/page-objects/NavigationPage/web.ts +8 -0
- package/templates/nx/shared/testing/page-objects/PlaygroundPage/mobile.ts +26 -0
- package/templates/nx/shared/testing/page-objects/PlaygroundPage/web.ts +29 -0
- package/templates/nx/shared/testing/support/actions/fillCredentials/mobile.action.ts +4 -0
- package/templates/nx/shared/testing/support/actions/fillCredentials/web.action.ts +4 -0
- package/templates/nx/shared/testing/support/steps/togglePlaygroundStates/mobile.step.ts +3 -0
- package/templates/nx/shared/testing/support/steps/togglePlaygroundStates/step.md +7 -0
- package/templates/nx/shared/testing/support/steps/togglePlaygroundStates/web.step.ts +5 -0
- package/templates/nx/shared/testing/support/steps/verifyPlaygroundState/mobile.step.ts +4 -0
- package/templates/nx/shared/testing/support/steps/verifyPlaygroundState/step.md +7 -0
- package/templates/nx/shared/testing/support/steps/verifyPlaygroundState/web.step.ts +6 -0
- package/templates/nx/specs/BrowserContext/TC-0007-title-and-navigation/mobile.test.ts +3 -0
- package/templates/nx/specs/BrowserContext/TC-0007-title-and-navigation/spec.md +12 -0
- package/templates/nx/specs/BrowserContext/TC-0007-title-and-navigation/web.test.ts +5 -0
- package/templates/nx/specs/BrowserContext/hooks/after/mobile.hook.ts +1 -0
- package/templates/nx/specs/BrowserContext/hooks/after/web.hook.ts +1 -0
- package/templates/nx/specs/BrowserContext/hooks/afterEach/mobile.hook.ts +1 -0
- package/templates/nx/specs/BrowserContext/hooks/afterEach/web.hook.ts +1 -0
- package/templates/nx/specs/BrowserContext/hooks/before/mobile.hook.ts +1 -0
- package/templates/nx/specs/BrowserContext/hooks/before/web.hook.ts +1 -0
- package/templates/nx/specs/BrowserContext/hooks/beforeEach/mobile.hook.ts +1 -0
- package/templates/nx/specs/BrowserContext/hooks/beforeEach/web.hook.ts +1 -0
- package/templates/nx/specs/BrowserContext/suite.md +9 -0
- package/templates/nx/specs/ContentMatchers/TC-0005-text-and-values/mobile.test.ts +3 -0
- package/templates/nx/specs/ContentMatchers/TC-0005-text-and-values/spec.md +12 -0
- package/templates/nx/specs/ContentMatchers/TC-0005-text-and-values/web.test.ts +7 -0
- package/templates/nx/specs/ContentMatchers/TC-0006-collections-and-empty/mobile.test.ts +3 -0
- package/templates/nx/specs/ContentMatchers/TC-0006-collections-and-empty/spec.md +12 -0
- package/templates/nx/specs/ContentMatchers/TC-0006-collections-and-empty/web.test.ts +6 -0
- package/templates/nx/specs/ContentMatchers/hooks/after/mobile.hook.ts +1 -0
- package/templates/nx/specs/ContentMatchers/hooks/after/web.hook.ts +1 -0
- package/templates/nx/specs/ContentMatchers/hooks/afterEach/mobile.hook.ts +1 -0
- package/templates/nx/specs/ContentMatchers/hooks/afterEach/web.hook.ts +1 -0
- package/templates/nx/specs/ContentMatchers/hooks/before/mobile.hook.ts +1 -0
- package/templates/nx/specs/ContentMatchers/hooks/before/web.hook.ts +1 -0
- package/templates/nx/specs/ContentMatchers/hooks/beforeEach/mobile.hook.ts +1 -0
- package/templates/nx/specs/ContentMatchers/hooks/beforeEach/web.hook.ts +1 -0
- package/templates/nx/specs/ContentMatchers/suite.md +9 -0
- package/templates/nx/specs/ElementMatchers/TC-0003-visibility-and-dom/mobile.test.ts +3 -0
- package/templates/nx/specs/ElementMatchers/TC-0003-visibility-and-dom/spec.md +12 -0
- package/templates/nx/specs/ElementMatchers/TC-0003-visibility-and-dom/web.test.ts +5 -0
- package/templates/nx/specs/ElementMatchers/TC-0004-states-and-attributes/mobile.test.ts +3 -0
- package/templates/nx/specs/ElementMatchers/TC-0004-states-and-attributes/spec.md +12 -0
- package/templates/nx/specs/ElementMatchers/TC-0004-states-and-attributes/web.test.ts +8 -0
- package/templates/nx/specs/ElementMatchers/hooks/after/mobile.hook.ts +1 -0
- package/templates/nx/specs/ElementMatchers/hooks/after/web.hook.ts +1 -0
- package/templates/nx/specs/ElementMatchers/hooks/afterEach/mobile.hook.ts +1 -0
- package/templates/nx/specs/ElementMatchers/hooks/afterEach/web.hook.ts +1 -0
- package/templates/nx/specs/ElementMatchers/hooks/before/mobile.hook.ts +1 -0
- package/templates/nx/specs/ElementMatchers/hooks/before/web.hook.ts +1 -0
- package/templates/nx/specs/ElementMatchers/hooks/beforeEach/mobile.hook.ts +1 -0
- package/templates/nx/specs/ElementMatchers/hooks/beforeEach/web.hook.ts +1 -0
- package/templates/nx/specs/ElementMatchers/suite.md +9 -0
- package/templates/nx/specs/Playground/TC-0001-form-controls/mobile.test.ts +3 -0
- package/templates/nx/specs/Playground/TC-0001-form-controls/spec.md +12 -0
- package/templates/nx/specs/Playground/TC-0001-form-controls/web.test.ts +6 -0
- package/templates/nx/specs/Playground/TC-0002-toggle-elements/mobile.test.ts +3 -0
- package/templates/nx/specs/Playground/TC-0002-toggle-elements/spec.md +12 -0
- package/templates/nx/specs/Playground/TC-0002-toggle-elements/web.test.ts +6 -0
- package/templates/nx/specs/Playground/hooks/after/mobile.hook.ts +1 -0
- package/templates/nx/specs/Playground/hooks/after/web.hook.ts +1 -0
- package/templates/nx/specs/Playground/hooks/afterEach/mobile.hook.ts +1 -0
- package/templates/nx/specs/Playground/hooks/afterEach/web.hook.ts +1 -0
- package/templates/nx/specs/Playground/hooks/before/mobile.hook.ts +1 -0
- package/templates/nx/specs/Playground/hooks/before/web.hook.ts +1 -0
- package/templates/nx/specs/Playground/hooks/beforeEach/mobile.hook.ts +1 -0
- package/templates/nx/specs/Playground/hooks/beforeEach/web.hook.ts +1 -0
- package/templates/nx/specs/Playground/suite.md +9 -0
- package/templates/nx/spectra.config.ts +1 -1
- package/templates/nx/support/actions/fillCredentials/mobile.action.ts +4 -0
- package/templates/nx/support/actions/fillCredentials/web.action.ts +4 -0
- package/templates/nx/support/steps/togglePlaygroundStates/mobile.step.ts +3 -0
- package/templates/nx/support/steps/togglePlaygroundStates/step.md +7 -0
- package/templates/nx/support/steps/togglePlaygroundStates/web.step.ts +5 -0
- package/templates/nx/support/steps/verifyPlaygroundState/mobile.step.ts +4 -0
- package/templates/nx/support/steps/verifyPlaygroundState/step.md +7 -0
- package/templates/nx/support/steps/verifyPlaygroundState/web.step.ts +6 -0
- package/templates/default/actions/applyDiscount/mobile.action.ts +0 -6
- package/templates/default/actions/applyDiscount/web.action.ts +0 -6
- package/templates/default/actions/verifyOtp/mobile.action.ts +0 -6
- package/templates/default/actions/verifyOtp/web.action.ts +0 -6
- package/templates/default/fixtures/couponCode.json +0 -1
- package/templates/default/fixtures/searchQuery.json +0 -1
- package/templates/default/fixtures/userData.json +0 -1
- package/templates/default/global-hooks/before.web.hook.ts +0 -4
- package/templates/default/page-objects/LoginPage/mobile.ts +0 -32
- package/templates/default/page-objects/LoginPage/web.ts +0 -32
- package/templates/default/page-objects/ProductPage/mobile.ts +0 -39
- package/templates/default/page-objects/ProductPage/web.ts +0 -38
- package/templates/default/page-objects/SettingsPage/common.ts +0 -26
- package/templates/default/specs/Auth/TC-AUTH-01/android.test.ts +0 -6
- package/templates/default/specs/Auth/TC-AUTH-01/ios.test.ts +0 -6
- package/templates/default/specs/Auth/TC-AUTH-01/web.test.ts +0 -13
- package/templates/default/specs/Auth/TC-AUTH-02/android.test.ts +0 -5
- package/templates/default/specs/Auth/TC-AUTH-02/web.test.ts +0 -5
- package/templates/default/specs/Auth/hooks/before.android.hook.ts +0 -3
- package/templates/default/specs/Auth/hooks/before.ios.hook.ts +0 -3
- package/templates/default/specs/Auth/hooks/before.web.hook.ts +0 -3
- package/templates/default/specs/Product/TC-PROD-01/mobile.test.ts +0 -8
- package/templates/default/specs/Product/TC-PROD-01/web.test.ts +0 -8
- package/templates/default/specs/Product/TC-PROD-02/mobile.test.ts +0 -6
- package/templates/default/specs/Product/TC-PROD-02/web.test.ts +0 -6
- package/templates/default/specs/Product/hooks/before.web.hook.ts +0 -3
- package/templates/default/specs/Settings/TC-SET-01/common.test.ts +0 -8
- package/templates/default/steps/loginUser/mobile.step.ts +0 -4
- package/templates/default/steps/loginUser/web.step.ts +0 -4
- package/templates/default/steps/searchProduct/mobile.step.ts +0 -5
- package/templates/default/steps/searchProduct/web.step.ts +0 -5
- package/templates/nx/modules/auth/e2e/actions/verifyOtp/mobile.action.ts +0 -6
- package/templates/nx/modules/auth/e2e/actions/verifyOtp/web.action.ts +0 -6
- package/templates/nx/modules/auth/e2e/fixtures/userData.json +0 -1
- package/templates/nx/modules/auth/e2e/global-hooks/before.web.hook.ts +0 -4
- package/templates/nx/modules/auth/e2e/package.json +0 -19
- package/templates/nx/modules/auth/e2e/page-objects/LoginPage/mobile.ts +0 -32
- package/templates/nx/modules/auth/e2e/page-objects/LoginPage/web.ts +0 -32
- package/templates/nx/modules/auth/e2e/page-objects/SettingsPage/common.ts +0 -26
- package/templates/nx/modules/auth/e2e/specs/Auth/TC-AUTH-01/android.test.ts +0 -6
- package/templates/nx/modules/auth/e2e/specs/Auth/TC-AUTH-01/ios.test.ts +0 -6
- package/templates/nx/modules/auth/e2e/specs/Auth/TC-AUTH-01/web.test.ts +0 -19
- package/templates/nx/modules/auth/e2e/specs/Auth/TC-AUTH-02/android.test.ts +0 -5
- package/templates/nx/modules/auth/e2e/specs/Auth/TC-AUTH-02/web.test.ts +0 -5
- package/templates/nx/modules/auth/e2e/specs/Auth/hooks/before.android.hook.ts +0 -3
- package/templates/nx/modules/auth/e2e/specs/Auth/hooks/before.ios.hook.ts +0 -3
- package/templates/nx/modules/auth/e2e/specs/Auth/hooks/before.web.hook.ts +0 -3
- package/templates/nx/modules/auth/e2e/specs/Settings/TC-SET-01/common.test.ts +0 -8
- package/templates/nx/modules/auth/e2e/steps/loginUser/mobile.step.ts +0 -4
- package/templates/nx/modules/auth/e2e/steps/loginUser/web.step.ts +0 -4
- package/templates/nx/modules/auth/package.json +0 -7
- package/templates/nx/modules/auth/src/index.ts +0 -3
- package/templates/nx/modules/catalog/package.json +0 -7
- package/templates/nx/modules/catalog/src/index.ts +0 -6
- package/templates/nx/shared/testing/actions/dismissBanner/common.action.ts +0 -6
- package/templates/nx/shared/testing/fixtures/appConfig.json +0 -4
- package/templates/nx/shared/testing/package.json +0 -8
- package/templates/nx/shared/testing/page-objects/NavigationBar/common.ts +0 -13
- package/templates/nx/shared/testing/steps/loginAsAdmin/common.step.ts +0 -4
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
".testspectra/types/android.d.ts",
|
|
18
18
|
".testspectra/types/fixtures.d.ts",
|
|
19
19
|
"page-objects/**/*.ts",
|
|
20
|
+
"support/**/*.ts",
|
|
20
21
|
"steps/**/*.ts",
|
|
21
22
|
"actions/**/*.ts",
|
|
22
23
|
"global-hooks/**/*.ts",
|
|
@@ -29,14 +30,16 @@
|
|
|
29
30
|
"dist",
|
|
30
31
|
"page-objects/**/web.ts",
|
|
31
32
|
"page-objects/**/ios.ts",
|
|
33
|
+
"support/**/web.*",
|
|
34
|
+
"support/**/ios.*",
|
|
32
35
|
"steps/**/web.step.ts",
|
|
33
36
|
"steps/**/ios.step.ts",
|
|
34
37
|
"actions/**/web.action.ts",
|
|
35
38
|
"actions/**/ios.action.ts",
|
|
36
|
-
"global-hooks/**/web
|
|
37
|
-
"global-hooks/**/ios
|
|
38
|
-
"specs/**/hooks/**/web
|
|
39
|
-
"specs/**/hooks/**/ios
|
|
39
|
+
"global-hooks/**/web.*",
|
|
40
|
+
"global-hooks/**/ios.*",
|
|
41
|
+
"specs/**/hooks/**/web.*",
|
|
42
|
+
"specs/**/hooks/**/ios.*",
|
|
40
43
|
"specs/**/web.test.ts",
|
|
41
44
|
"specs/**/ios.test.ts"
|
|
42
45
|
]
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
".testspectra/types/ios.d.ts",
|
|
18
18
|
".testspectra/types/fixtures.d.ts",
|
|
19
19
|
"page-objects/**/*.ts",
|
|
20
|
+
"support/**/*.ts",
|
|
20
21
|
"steps/**/*.ts",
|
|
21
22
|
"actions/**/*.ts",
|
|
22
23
|
"global-hooks/**/*.ts",
|
|
@@ -29,14 +30,16 @@
|
|
|
29
30
|
"dist",
|
|
30
31
|
"page-objects/**/web.ts",
|
|
31
32
|
"page-objects/**/android.ts",
|
|
33
|
+
"support/**/web.*",
|
|
34
|
+
"support/**/android.*",
|
|
32
35
|
"steps/**/web.step.ts",
|
|
33
36
|
"steps/**/android.step.ts",
|
|
34
37
|
"actions/**/web.action.ts",
|
|
35
38
|
"actions/**/android.action.ts",
|
|
36
|
-
"global-hooks/**/web
|
|
37
|
-
"global-hooks/**/android
|
|
38
|
-
"specs/**/hooks/**/web
|
|
39
|
-
"specs/**/hooks/**/android
|
|
39
|
+
"global-hooks/**/web.*",
|
|
40
|
+
"global-hooks/**/android.*",
|
|
41
|
+
"specs/**/hooks/**/web.*",
|
|
42
|
+
"specs/**/hooks/**/android.*",
|
|
40
43
|
"specs/**/web.test.ts",
|
|
41
44
|
"specs/**/android.test.ts"
|
|
42
45
|
]
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
".testspectra/types/web.d.ts",
|
|
18
18
|
".testspectra/types/fixtures.d.ts",
|
|
19
19
|
"page-objects/**/*.ts",
|
|
20
|
+
"support/**/*.ts",
|
|
20
21
|
"steps/**/*.ts",
|
|
21
22
|
"actions/**/*.ts",
|
|
22
23
|
"global-hooks/**/*.ts",
|
|
@@ -30,18 +31,21 @@
|
|
|
30
31
|
"page-objects/**/android.ts",
|
|
31
32
|
"page-objects/**/ios.ts",
|
|
32
33
|
"page-objects/**/mobile.ts",
|
|
34
|
+
"support/**/android.*",
|
|
35
|
+
"support/**/ios.*",
|
|
36
|
+
"support/**/mobile.*",
|
|
33
37
|
"steps/**/android.step.ts",
|
|
34
38
|
"steps/**/ios.step.ts",
|
|
35
39
|
"steps/**/mobile.step.ts",
|
|
36
40
|
"actions/**/android.action.ts",
|
|
37
41
|
"actions/**/ios.action.ts",
|
|
38
42
|
"actions/**/mobile.action.ts",
|
|
39
|
-
"global-hooks/**/android
|
|
40
|
-
"global-hooks/**/ios
|
|
41
|
-
"global-hooks/**/mobile
|
|
42
|
-
"specs/**/hooks/**/android
|
|
43
|
-
"specs/**/hooks/**/ios
|
|
44
|
-
"specs/**/hooks/**/mobile
|
|
43
|
+
"global-hooks/**/android.*",
|
|
44
|
+
"global-hooks/**/ios.*",
|
|
45
|
+
"global-hooks/**/mobile.*",
|
|
46
|
+
"specs/**/hooks/**/android.*",
|
|
47
|
+
"specs/**/hooks/**/ios.*",
|
|
48
|
+
"specs/**/hooks/**/mobile.*",
|
|
45
49
|
"specs/**/android.test.ts",
|
|
46
50
|
"specs/**/ios.test.ts",
|
|
47
51
|
"specs/**/mobile.test.ts"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# TestSpectra AI Instructions for Cursor
|
|
2
|
+
|
|
3
|
+
You are developing end-to-end automated tests with the TestSpectra testing framework.
|
|
4
|
+
|
|
5
|
+
## Key Rules & Conventions
|
|
6
|
+
1. **Zero-Import Standard**: Never add manual `import` statements for Page Objects (`PlaygroundPage`, `MatchersPage`, `NavigationPage`), Steps (`Step.*`), Fixtures (`Fixture.*`), or Actions (`Spectra.*`). All typings are provided globally and ambiently via `.testspectra/types/`.
|
|
7
|
+
2. **Platform Separation**:
|
|
8
|
+
- `web.test.ts` / `web.ts` / `web.step.ts` / `web.hook.ts`: Web platform implementations.
|
|
9
|
+
- `mobile.test.ts` / `mobile.ts` / `mobile.step.ts` / `mobile.hook.ts`: Mobile platform implementations.
|
|
10
|
+
- `common.test.ts` / `common.ts` / `common.step.ts` / `common.hook.ts`: Cross-platform shared implementations.
|
|
11
|
+
3. **CamelCase Naming Convention**:
|
|
12
|
+
- Shared Steps (`support/steps/loginAsAdmin/`, `support/steps/verifyPlaygroundState/`)
|
|
13
|
+
- Custom Actions (`support/actions/applyDiscount/`, `support/actions/verifyOtp/`)
|
|
14
|
+
- Lifecycle Hooks (`global-hooks/before/`, `global-hooks/after/`, `specs/<suite>/hooks/before/`, `specs/<suite>/hooks/beforeEach/`, `specs/<suite>/hooks/after/`, `specs/<suite>/hooks/afterEach/`)
|
|
15
|
+
4. **Spec-as-Code**:
|
|
16
|
+
- Suites are defined in `specs/<suite-name>/suite.md` with YAML frontmatter (`id`, `name`, `executionOrder`, `tags`).
|
|
17
|
+
- Test cases are defined in `specs/<suite-name>/<TC-ID-slug>/spec.md` with YAML frontmatter (`id`, `title`, `priority`, `coverage`).
|
|
18
|
+
- Shared steps are defined in `support/steps/<stepName>/step.md`.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# CLAUDE.md - TestSpectra Framework Conventions
|
|
2
|
+
|
|
3
|
+
## Commands
|
|
4
|
+
- Run all Web tests: `pnpm spectra run -t web`
|
|
5
|
+
- Run specific spec: `pnpm spectra run "specs/Playground/TC-0001-form-controls/web.test.ts" -t web`
|
|
6
|
+
- Run Nx monorepo E2E targets: `pnpm nx run-many -t e2e`
|
|
7
|
+
- Run Mobile tests: `pnpm spectra run --target android` or `pnpm spectra run --target ios`
|
|
8
|
+
- Type checking: `pnpm type-check` (or `tsc -b tsconfig.spectra.json`)
|
|
9
|
+
- Preflight doctor: `pnpm spectra doctor`
|
|
10
|
+
- List devices: `pnpm spectra devices`
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
2
|
+
"name": "matchers-e2e",
|
|
3
3
|
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
|
|
4
4
|
"projectType": "application",
|
|
5
|
-
"sourceRoot": "
|
|
5
|
+
"sourceRoot": "packages/matchers/e2e",
|
|
6
6
|
"targets": {
|
|
7
7
|
"e2e": {
|
|
8
8
|
"executor": "nx:run-commands",
|
|
9
9
|
"options": {
|
|
10
10
|
"command": "spectra run",
|
|
11
|
-
"cwd": "
|
|
11
|
+
"cwd": "packages/matchers/e2e"
|
|
12
12
|
},
|
|
13
13
|
"configurations": {
|
|
14
14
|
"android": {
|
|
@@ -25,10 +25,13 @@
|
|
|
25
25
|
"type-check": {
|
|
26
26
|
"executor": "nx:run-commands",
|
|
27
27
|
"options": {
|
|
28
|
-
"command": "tsc -b
|
|
28
|
+
"command": "tsc -b",
|
|
29
29
|
"cwd": "."
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
|
-
"tags": [
|
|
33
|
+
"tags": [
|
|
34
|
+
"scope:matchers",
|
|
35
|
+
"type:e2e"
|
|
36
|
+
]
|
|
34
37
|
}
|
package/templates/nx/packages/matchers/e2e/specs/BrowserContext/TC-0007-title-and-navigation/spec.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: TC-0007-title-and-navigation
|
|
3
|
+
title: Verify page title and sidebar navigation links
|
|
4
|
+
priority: High
|
|
5
|
+
caseType: Positive
|
|
6
|
+
status: ready-for-automation
|
|
7
|
+
coverage:
|
|
8
|
+
web: automated
|
|
9
|
+
mobile: automated
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Verify page title and sidebar navigation links
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
package/templates/nx/packages/matchers/e2e/specs/BrowserContext/hooks/afterEach/mobile.hook.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
package/templates/nx/packages/matchers/e2e/specs/BrowserContext/hooks/beforeEach/mobile.hook.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/TC-0005-text-and-values/spec.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: TC-0005-text-and-values
|
|
3
|
+
title: Verify exact text, substring text, and input values
|
|
4
|
+
priority: High
|
|
5
|
+
caseType: Positive
|
|
6
|
+
status: ready-for-automation
|
|
7
|
+
coverage:
|
|
8
|
+
web: automated
|
|
9
|
+
mobile: automated
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Verify exact text, substring text, and input values
|
package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/TC-0005-text-and-values/web.test.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
it("should verify text and value matchers on Web", async () => {
|
|
2
|
+
await MatchersPage.open("text");
|
|
3
|
+
await MatchersPage.exactText.should("have.text", Fixture.playgroundData.welcomeText);
|
|
4
|
+
await MatchersPage.partialText.should("contain.text", "Welcome");
|
|
5
|
+
await MatchersPage.emailInput.should("have.value", Fixture.playgroundData.defaultEmail);
|
|
6
|
+
await MatchersPage.tokenInput.should("contain.value", "JWT_");
|
|
7
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: TC-0006-collections-and-empty
|
|
3
|
+
title: Verify collection lengths, counts, and empty lists
|
|
4
|
+
priority: High
|
|
5
|
+
caseType: Positive
|
|
6
|
+
status: ready-for-automation
|
|
7
|
+
coverage:
|
|
8
|
+
web: automated
|
|
9
|
+
mobile: automated
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Verify collection lengths, counts, and empty lists
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
it("should verify collection lengths and empty lists on Web", async () => {
|
|
2
|
+
await MatchersPage.open("length");
|
|
3
|
+
await MatchersPage.productCards.should("have.length", 4);
|
|
4
|
+
await MatchersPage.productCards.should("have.length.greaterThan", 0);
|
|
5
|
+
await MatchersPage.emptyList.should("be.empty");
|
|
6
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/hooks/afterEach/mobile.hook.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
package/templates/nx/packages/matchers/e2e/specs/ContentMatchers/hooks/beforeEach/mobile.hook.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/TC-0003-visibility-and-dom/spec.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: TC-0003-visibility-and-dom
|
|
3
|
+
title: Verify element visibility and existence matchers
|
|
4
|
+
priority: High
|
|
5
|
+
caseType: Positive
|
|
6
|
+
status: ready-for-automation
|
|
7
|
+
coverage:
|
|
8
|
+
web: automated
|
|
9
|
+
mobile: automated
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Verify element visibility and existence matchers
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: TC-0004-states-and-attributes
|
|
3
|
+
title: Verify button state, checkbox, radio and attributes
|
|
4
|
+
priority: High
|
|
5
|
+
caseType: Positive
|
|
6
|
+
status: ready-for-automation
|
|
7
|
+
coverage:
|
|
8
|
+
web: automated
|
|
9
|
+
mobile: automated
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Verify button state, checkbox, radio and attributes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
it("should verify enabled/disabled states and HTML attributes on Web", async () => {
|
|
2
|
+
await MatchersPage.open("state");
|
|
3
|
+
await MatchersPage.submitButton.should("be.enabled");
|
|
4
|
+
await MatchersPage.disabledButton.should("be.disabled");
|
|
5
|
+
await MatchersPage.checkbox.should("not.be.checked");
|
|
6
|
+
await MatchersPage.activeTab.should("have.class", "is-active");
|
|
7
|
+
await MatchersPage.navLink.should("have.attr", "href", Fixture.playgroundData.dashboardHref);
|
|
8
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/hooks/afterEach/mobile.hook.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
package/templates/nx/packages/matchers/e2e/specs/ElementMatchers/hooks/beforeEach/mobile.hook.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "playground-e2e",
|
|
3
|
+
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
|
|
4
|
+
"projectType": "application",
|
|
5
|
+
"sourceRoot": "packages/playground/e2e",
|
|
6
|
+
"targets": {
|
|
7
|
+
"e2e": {
|
|
8
|
+
"executor": "nx:run-commands",
|
|
9
|
+
"options": {
|
|
10
|
+
"command": "spectra run",
|
|
11
|
+
"cwd": "packages/playground/e2e"
|
|
12
|
+
},
|
|
13
|
+
"configurations": {
|
|
14
|
+
"android": {
|
|
15
|
+
"command": "spectra run --target android"
|
|
16
|
+
},
|
|
17
|
+
"ios": {
|
|
18
|
+
"command": "spectra run --target ios"
|
|
19
|
+
},
|
|
20
|
+
"headless": {
|
|
21
|
+
"command": "spectra run --headless"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"type-check": {
|
|
26
|
+
"executor": "nx:run-commands",
|
|
27
|
+
"options": {
|
|
28
|
+
"command": "tsc -b",
|
|
29
|
+
"cwd": "."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"tags": [
|
|
34
|
+
"scope:playground",
|
|
35
|
+
"type:e2e"
|
|
36
|
+
]
|
|
37
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: TC-0001-form-controls
|
|
3
|
+
title: Verify playground form inputs and default states
|
|
4
|
+
priority: High
|
|
5
|
+
caseType: Positive
|
|
6
|
+
status: ready-for-automation
|
|
7
|
+
coverage:
|
|
8
|
+
web: automated
|
|
9
|
+
mobile: automated
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Verify playground form inputs and default states
|
package/templates/nx/packages/playground/e2e/specs/Playground/TC-0001-form-controls/web.test.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
it("should verify live playground form inputs and default states (Web)", async () => {
|
|
2
|
+
await Step.verifyPlaygroundState();
|
|
3
|
+
await PlaygroundPage.emailInput.should("have.value", Fixture.playgroundData.defaultEmail);
|
|
4
|
+
await PlaygroundPage.tokenInput.should("contain.value", "JWT_");
|
|
5
|
+
await PlaygroundPage.exactText.should("have.text", Fixture.playgroundData.welcomeText);
|
|
6
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: TC-0002-toggle-elements
|
|
3
|
+
title: Verify typing credentials and updating playground inputs
|
|
4
|
+
priority: High
|
|
5
|
+
caseType: Positive
|
|
6
|
+
status: ready-for-automation
|
|
7
|
+
coverage:
|
|
8
|
+
web: automated
|
|
9
|
+
mobile: automated
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Verify typing credentials and updating playground inputs
|
package/templates/nx/packages/playground/e2e/specs/Playground/TC-0002-toggle-elements/web.test.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
it("should update input values and verify updated state (Web)", async () => {
|
|
2
|
+
await PlaygroundPage.open();
|
|
3
|
+
await PlaygroundPage.fillCredentials("qa.expert@testspectra.dev", "JWT_custom_session_token");
|
|
4
|
+
await PlaygroundPage.emailInput.should("have.value", "qa.expert@testspectra.dev");
|
|
5
|
+
await PlaygroundPage.tokenInput.should("contain.value", "JWT_custom_session_token");
|
|
6
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default async function () {}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export class MatchersPage {
|
|
2
|
+
get visibleElement() { return Spectra.get("~visible_element"); }
|
|
3
|
+
get hiddenElement() { return Spectra.get("~hidden_element"); }
|
|
4
|
+
get existingElement() { return Spectra.get("~existing_element"); }
|
|
5
|
+
get submitButton() { return Spectra.get("~submit_button"); }
|
|
6
|
+
get disabledButton() { return Spectra.get("~disabled_button"); }
|
|
7
|
+
get checkbox() { return Spectra.get("~checkbox"); }
|
|
8
|
+
get radio() { return Spectra.get("~radio"); }
|
|
9
|
+
get emailInput() { return Spectra.get("~email_input"); }
|
|
10
|
+
get tokenInput() { return Spectra.get("~token_input"); }
|
|
11
|
+
get exactText() { return Spectra.get("~exact_text"); }
|
|
12
|
+
get partialText() { return Spectra.get("~partial_text"); }
|
|
13
|
+
get activeTab() { return Spectra.get("~active_tab"); }
|
|
14
|
+
get navLink() { return Spectra.get("~nav_link"); }
|
|
15
|
+
get productCards() { return Spectra.getAll("~product_card"); }
|
|
16
|
+
get emptyList() { return Spectra.getAll("~empty_list"); }
|
|
17
|
+
|
|
18
|
+
async open(_section = "") {}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default new MatchersPage();
|