Skip to content

Commit

Permalink
feat(playwright-test): support for nested requirements reporting
Browse files Browse the repository at this point in the history
  • Loading branch information
jan-molak committed Jan 27, 2024
1 parent 430a651 commit 37ef679
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 52 deletions.
4 changes: 2 additions & 2 deletions integration/playwright-test/spec/cast.spec.ts
Expand Up @@ -20,7 +20,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A screenplay scenario receives an actor with default abilities')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test configuration')))
.next(InteractionStarts, event => expect(event.details.name).to.equal(new Name(`Alice logs: 'GenericCast'`)))
.next(InteractionStarts, event => expect(event.details.name).to.equal(new Name(`Alice logs: 'BrowseTheWebWithPlaywright'`)))
Expand All @@ -39,7 +39,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A screenplay scenario receives an actor from a custom cast')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test configuration')))
.next(InteractionStarts, event => expect(event.details.name).to.equal(new Name(`Alice logs: a note of contextOptions`)))
.next(ActivityRelatedArtifactGenerated, event => {
Expand Down
12 changes: 6 additions & 6 deletions integration/playwright-test/spec/failing_scenarios.spec.ts
Expand Up @@ -19,7 +19,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A scenario fails when an error is thrown')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('failing')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Failing')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => {
Expand All @@ -39,7 +39,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A scenario fails when the assertion fails')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('failing')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Failing')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => {
Expand Down Expand Up @@ -68,7 +68,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A scenario fails when the assertion fails')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('failing')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Failing')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => {
Expand All @@ -92,7 +92,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A scenario fails when the assertion fails')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('failing')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Failing')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => {
Expand Down Expand Up @@ -123,7 +123,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A scenario is compromised')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('failing')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Failing')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => {
Expand All @@ -149,7 +149,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A scenario is marked as failing, but passes')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('failing')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Failing')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => {
Expand Down
8 changes: 4 additions & 4 deletions integration/playwright-test/spec/native_page.spec.ts
Expand Up @@ -31,7 +31,7 @@ describe('@serenity-js/playwright-test', function () {
expect(event.details.name).to.equal(new Name('A screenplay scenario receives a page object associated with the default actor'));
currentSceneId = event.sceneId;
})
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test integration')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))

Expand Down Expand Up @@ -61,7 +61,7 @@ describe('@serenity-js/playwright-test', function () {
expect(event.details.name).to.equal(new Name('A screenplay scenario allows for interactions with the page object to change the state of the page associated with the actor'));
currentSceneId = event.sceneId;
})
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test integration')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))

Expand Down Expand Up @@ -91,7 +91,7 @@ describe('@serenity-js/playwright-test', function () {
expect(event.details.name).to.equal(new Name(`A screenplay scenario registers the native page with actor's BrowsingSession`));
currentSceneId = event.sceneId;
})
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test integration')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))

Expand Down Expand Up @@ -121,7 +121,7 @@ describe('@serenity-js/playwright-test', function () {
expect(event.details.name).to.equal(new Name(`A screenplay scenario tracks newly opened pages`));
currentSceneId = event.sceneId;
})
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test integration')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))

Expand Down
Expand Up @@ -43,7 +43,7 @@ describe('@serenity-js/playwright-test', function () {
expect(event.details.name).to.equal(new Name('has no describe blocks'));
expect(event.details.category).to.equal(new Category('nested/another-no-describe-blocks.spec.ts'));
})
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('nested')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Nested')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('nested/another-no-describe-blocks.spec.ts')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))

Expand Down
Expand Up @@ -22,9 +22,9 @@ describe('@serenity-js/playwright-test', function () {
expect(event.details.name).to.equal(new Name('A scenario passes'));
currentSceneId = event.sceneId;
})
.next(SceneTagged, event => expect(event.tag).to.equal(new ThemeTag('my_super_theme')))
.next(SceneTagged, event => expect(event.tag).to.equal(new ThemeTag('my_theme')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('my_capability')))
.next(SceneTagged, event => expect(event.tag).to.equal(new ThemeTag('My super theme')))
.next(SceneTagged, event => expect(event.tag).to.equal(new ThemeTag('My theme')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('My capability')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('My feature')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))

Expand Down
10 changes: 5 additions & 5 deletions integration/playwright-test/spec/screenplay.spec.ts
Expand Up @@ -27,7 +27,7 @@ describe('@serenity-js/playwright-test', function () {
expect(event.details.name).to.equal(new Name('A screenplay scenario propagates events to Serenity reporter'));
currentSceneId = event.sceneId
})
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(InteractionStarts, event => {
Expand Down Expand Up @@ -67,7 +67,7 @@ describe('@serenity-js/playwright-test', function () {
.next(SceneStarts, event => {
expect(event.details.name).to.equal(new Name('A screenplay scenario supports multiple actors'))
})
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))

Expand Down Expand Up @@ -116,7 +116,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A screenplay scenario correctly reports assertion errors')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => {
Expand Down Expand Up @@ -145,7 +145,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A screenplay scenario fails when discarding an ability fails')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => {
Expand All @@ -170,7 +170,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A screenplay scenario fails when discarding an ability fails')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Screenplay')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => {
Expand Down
10 changes: 5 additions & 5 deletions integration/playwright-test/spec/skipped_scenarios.spec.ts
Expand Up @@ -17,7 +17,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A scenario is marked as skipped')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('skipped')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Skipped')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => expect(event.outcome).to.be.instanceOf(ExecutionSkipped))
Expand All @@ -32,7 +32,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A scenario is marked as skipped conditionally')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('skipped')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Skipped')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => expect(event.outcome).to.be.instanceOf(ExecutionSkipped))
Expand All @@ -47,7 +47,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A scenario is marked as skipped at the group level')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('skipped')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Skipped')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => expect(event.outcome).to.be.instanceOf(ExecutionSkipped))
Expand All @@ -62,7 +62,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A scenario is marked as conditionally skipped at the group level')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('skipped')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Skipped')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => expect(event.outcome).to.be.instanceOf(ExecutionSkipped))
Expand All @@ -77,7 +77,7 @@ describe('@serenity-js/playwright-test', function () {

PickEvent.from(result.events)
.next(SceneStarts, event => expect(event.details.name).to.equal(new Name('A scenario is marked as fixme')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('skipped')))
.next(SceneTagged, event => expect(event.tag).to.equal(new CapabilityTag('Skipped')))
.next(SceneTagged, event => expect(event.tag).to.equal(new FeatureTag('Playwright Test reporting')))
.next(TestRunnerDetected, event => expect(event.name).to.equal(new Name('Playwright')))
.next(SceneFinished, event => expect(event.outcome).to.be.instanceOf(ExecutionSkipped))
Expand Down

0 comments on commit 37ef679

Please sign in to comment.