Skip to content

Added configuration sets to sample tests#273

Open
GrimA9e wants to merge 1 commit intovividus-framework:mainfrom
GrimA9e:configuration_sets
Open

Added configuration sets to sample tests#273
GrimA9e wants to merge 1 commit intovividus-framework:mainfrom
GrimA9e:configuration_sets

Conversation

@GrimA9e
Copy link
Copy Markdown
Contributor

@GrimA9e GrimA9e commented Apr 28, 2026

Summary by CodeRabbit

  • Refactor

    • Consolidated test configuration management by replacing individual property selectors with predefined configuration sets for web, REST API, and mobile platforms.
    • Updated CI/CD test execution workflows to use the new configuration-set approach.
  • Tests

    • Added and refined test scenarios for login flows across web platforms.

@GrimA9e GrimA9e requested a review from a team as a code owner April 28, 2026 12:47
@GrimA9e GrimA9e requested review from ikalinin1, valfirst and vkepin and removed request for a team April 28, 2026 12:47
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 28, 2026

Warning

Rate limit exceeded

@GrimA9e has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 57 minutes and 1 second before requesting another review.

To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 446a65ba-b0d8-491a-8255-f27ca74c2a0a

📥 Commits

Reviewing files that changed from the base of the PR and between 95758f3 and 2da9b0f.

📒 Files selected for processing (5)
  • .github/workflows/electron-tests.yml
  • .github/workflows/mobile-test-run.yml
  • .github/workflows/test-run.yml
  • README.md
  • src/main/resources/properties/configuration.properties
📝 Walkthrough

Walkthrough

A configuration-set system replaces individual property selectors across the project. The refactoring updates GitHub Actions workflows, documentation, and test configurations to use -Pvividus.configuration-set.active instead of separate -Pvividus.configuration.suites and -Pvividus.configuration.profiles properties.

Changes

Cohort / File(s) Summary
Configuration Schema
src/main/resources/properties/configuration.properties
Replaces flat configuration properties (configuration.profiles, configuration.suites, configuration.environments) with a configuration-set structure. Introduces configuration-set.active selector and defines five named sets (web-app, rest-api, ios-app, android-app, electron), each mapping profiles and suites to their corresponding values.
GitHub Actions Workflows
.github/workflows/electron-tests.yml, .github/workflows/mobile-test-run.yml, .github/workflows/test-run.yml
Updates Gradle commands to replace -Pvividus.configuration.suites and -Pvividus.configuration.profiles arguments with single -Pvividus.configuration-set.active=<set-name> parameter selection.
Documentation
README.md
Updates local test execution command examples to use -Pvividus.configuration-set.active=<...> syntax instead of -Pvividus.configuration.suites=... and removes explicit profile selectors.
Test Stories
src/main/resources/story/rest_api/Star Wars API.story, src/main/resources/story/web_app/Web application.story
Story content changes: REST API story switches to web UI login flow; Web application story consolidates login steps and adds parameterized login scenario for additional test site.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: the pull request refactors the sample tests to use a new configuration-sets approach instead of explicit suites/profiles properties across multiple workflow files and configuration files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 57 minutes and 1 second.

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@README.md`:
- Around line 14-16: Remove the stray one-cell table row that contains only "||"
between the REST API tests and Web Application tests rows in the README table;
locate the two table rows labelled "REST API tests" and "Web Application tests"
and delete the extra "||" line so the table remains a valid two-column Markdown
table and resolves markdownlint MD056.

In `@src/main/resources/properties/suite/web_app/suite.properties`:
- Line 5: Remove the global TLS bypass by deleting or commenting out the
property web.driver.chrome.command-line-arguments=--ignore-certificate-errors
from suite.properties; instead make the flag opt-in (e.g., leave the property
empty by default or introduce a separate opt-in property like
web.driver.chrome.allow-insecure=true) and update the Chrome driver setup code
to append --ignore-certificate-errors only when that opt-in property or an
environment/profile override is present so UI tests do not disable certificate
validation globally.

In `@src/main/resources/steps/web_app/ui.steps`:
- Line 4: The step using the locator xpath(//button[contains(.,'Log')]) is too
broad and can match "Logout"; replace it with an exact/normalized text matcher
that targets login variants only (e.g. use normalize-space(text()) equality for
"Log in" and "Login" or an OR between those exact normalized strings). Update
the step that contains the locator string xpath(//button[contains(.,'Log')]) to
use the tightened XPath with normalize-space(text()) comparisons for the login
button.

In `@src/main/resources/story/rest_api/Star` Wars API.story:
- Around line 7-12: The "Verify Luke's homeworld" scenario relies on
`${lukes-homeworld}` defined in another scenario; make it self-contained by
adding the step that sets `lukes-homeworld` inside the same scenario (for
example, perform the HTTP GET for the `people` resource that returns Luke's JSON
and save JSONPath `$.homeworld` to story variable `lukes-homeworld` using the
same "When I save JSON element value from `${response}` by JSON path
`$.homeworld` to story variable `lukes-homeworld`" action) before executing the
HTTP GET for `${lukes-homeworld}`, so the scenario (named "Verify Luke's
homeworld") can run independently.

In `@src/main/resources/story/web_app/Web` app login.story:
- Around line 9-13: Rename the misspelled scenario variable `usename` to
`username` everywhere in this story: update the initialization step that sets
`usename` (the `#{generate(Credentials.username)}` call) to set `username`,
change the login step that uses `${usename}` to `${username}`, and update the
assertion step that expects `Welcome, ${usename}!` to `Welcome, ${username}!` so
all references (initialization, When login to web app, and Then text exists) are
consistent.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 81dda1f5-44d2-4685-a8d1-25c0d5977e4d

📥 Commits

Reviewing files that changed from the base of the PR and between d97ac03 and 702d0e2.

📒 Files selected for processing (12)
  • .github/workflows/electron-tests.yml
  • .github/workflows/mobile-test-run.yml
  • .github/workflows/test-run.yml
  • README.md
  • src/main/resources/properties/configuration.properties
  • src/main/resources/properties/suite/rest_api/suite.properties
  • src/main/resources/properties/suite/web_app/suite.properties
  • src/main/resources/steps/rest_api/schema.steps
  • src/main/resources/steps/web_app/ui.steps
  • src/main/resources/story/rest_api/Star Wars API.story
  • src/main/resources/story/web_app/Web app login.story
  • src/main/resources/story/web_app/Web application.story
💤 Files with no reviewable changes (1)
  • src/main/resources/story/web_app/Web application.story

Comment thread README.md
Comment thread src/main/resources/properties/suite/web_app/suite.properties Outdated
Comment thread src/main/resources/steps/web_app/ui.steps Outdated
Comment thread src/main/resources/story/rest_api/Star Wars API.story Outdated
Comment thread src/main/resources/story/web_app/Web app login.story Outdated
@GrimA9e GrimA9e force-pushed the configuration_sets branch 2 times, most recently from 683c282 to 1412a90 Compare April 28, 2026 13:23
Copy link
Copy Markdown
Contributor

@valfirst valfirst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should be at least 3 commits/PRs:

  1. creation of configuration sets
  2. new web app tests
  3. refactoring and new rest api tests

@GrimA9e GrimA9e force-pushed the configuration_sets branch 2 times, most recently from 95758f3 to eb36aa0 Compare April 29, 2026 15:11
@GrimA9e GrimA9e force-pushed the configuration_sets branch from eb36aa0 to 2da9b0f Compare April 29, 2026 15:11
@GrimA9e GrimA9e requested a review from valfirst April 30, 2026 07:27
configuration.environments=
configuration-set.active=

configuration-set.web-app.profiles=web/headless/chrome
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI should use headless Chrome, as headed Chrome is not available by default, BUT the local execution (see README.md) should use headed Chrome to visualise the execution process for users

Comment on lines +19 to +21
configuration-set.electron.profiles=desktop/electron,web/desktop/chrome
configuration-set.electron.suites=electron
configuration-set.electron.environments=
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
configuration-set.electron.profiles=desktop/electron,web/desktop/chrome
configuration-set.electron.suites=electron
configuration-set.electron.environments=
configuration-set.electron-app.profiles=desktop/electron,web/desktop/chrome
configuration-set.electron-app.suites=electron
configuration-set.electron-app.environments=

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants