mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-14 10:36:54 -07:00
Run the wizard as part of the feature files
This commit is contained in:
parent
8c20b20590
commit
2187c0d7d4
4 changed files with 75 additions and 48 deletions
21
tests/cypress/features/01-wizard/wizard.feature
Normal file
21
tests/cypress/features/01-wizard/wizard.feature
Normal file
|
@ -0,0 +1,21 @@
|
|||
|
||||
Feature: Wizard Setup
|
||||
Scenario: When visiting Ombi for the first time we should be on the Wizard page
|
||||
When I visit Ombi
|
||||
Then I should be on the "Wizard"
|
||||
|
||||
Scenario: When navigating through the Wizard feature we are required to create a local user
|
||||
When I visit Ombi
|
||||
And I click through all of the pages
|
||||
And I finish the Wizard
|
||||
Then I should get a notification "Username '' is invalid, can only contain letters or digits."
|
||||
And I should be on the User tab
|
||||
|
||||
Scenario: Completing the Wizard
|
||||
When I visit Ombi
|
||||
And I click through to the user page
|
||||
And I enter a username
|
||||
And I enter a password
|
||||
And I go to the finished tab
|
||||
And I finish the Wizard
|
||||
Then I should be on the "login"
|
53
tests/cypress/features/01-wizard/wizard.ts
Normal file
53
tests/cypress/features/01-wizard/wizard.ts
Normal file
|
@ -0,0 +1,53 @@
|
|||
import { Given, When, Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { wizardPage as Page } from "@/integration/page-objects";
|
||||
|
||||
Given("I set the Landing Page to {string}", (bool) => {
|
||||
cy.landingSettings(bool);
|
||||
});
|
||||
|
||||
When("I visit Ombi", () => {
|
||||
Page.visit();
|
||||
});
|
||||
|
||||
When("I click through all of the pages", () => {
|
||||
Page.welcomeTab.next.click();
|
||||
Page.mediaServerTab.next.click();
|
||||
Page.localUserTab.next.click();
|
||||
Page.ombiConfigTab.next.click();
|
||||
});
|
||||
|
||||
When("I finish the Wizard", () => {
|
||||
Page.finishButton.click();
|
||||
});
|
||||
|
||||
When("I click through to the user page", () => {
|
||||
Page.welcomeTab.next.click();
|
||||
Page.mediaServerTab.next.click();
|
||||
});
|
||||
|
||||
When("I enter a username", () => {
|
||||
Page.localUserTab.username.type(Cypress.env("username"));
|
||||
});
|
||||
|
||||
When("I enter a password", () => {
|
||||
Page.localUserTab.password.type(Cypress.env("password"));
|
||||
});
|
||||
|
||||
When("I go to the finished tab", () => {
|
||||
Page.localUserTab.next.click();
|
||||
Page.ombiConfigTab.next.click();
|
||||
});
|
||||
|
||||
Then("I should be on the {string}", (string) => {
|
||||
cy.location("pathname").should("eq", `/${string}`);
|
||||
});
|
||||
|
||||
Then("I should get a notification {string}", (string) => {
|
||||
cy.verifyNotification(string);
|
||||
});
|
||||
|
||||
Then("I should be on the User tab", () => {
|
||||
Page.matStepsHeader.then((_) => {
|
||||
cy.get('#cdk-step-label-0-2').should('have.attr', 'aria-selected', 'true');
|
||||
});
|
||||
});
|
|
@ -1,47 +0,0 @@
|
|||
import { wizardPage as Page } from "@/integration/page-objects";
|
||||
|
||||
describe("Wizard Setup", () => {
|
||||
|
||||
it("Wizard should be first page", () => {
|
||||
Page.visit();
|
||||
cy.location("pathname").should("contains", "/Wizard");
|
||||
});
|
||||
|
||||
|
||||
it("Finsh with no local user", () => {
|
||||
Page.visit();
|
||||
|
||||
Page.welcomeTab.next.click();
|
||||
Page.mediaServerTab.next.click();
|
||||
Page.localUserTab.next.click();
|
||||
Page.ombiConfigTab.next.click();
|
||||
Page.finishButton.click();
|
||||
|
||||
cy.verifyNotification("Username '' is invalid, can only contain letters or digits.")
|
||||
|
||||
// Verify we end back up on the user page
|
||||
Page.matStepsHeader.then((items) => {
|
||||
|
||||
cy.get('#cdk-step-label-0-2').should('have.attr', 'aria-selected', 'true');
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
it("Compete Wizard", () => {
|
||||
Page.visit();
|
||||
|
||||
Page.welcomeTab.next.click();
|
||||
Page.mediaServerTab.next.click();
|
||||
|
||||
Page.localUserTab.username.type(Cypress.env("username"));
|
||||
Page.localUserTab.password.type(Cypress.env("password"));
|
||||
|
||||
Page.localUserTab.next.click();
|
||||
Page.ombiConfigTab.next.click();
|
||||
|
||||
Page.finishButton.click();
|
||||
|
||||
cy.location("pathname").should("contains", "/login");
|
||||
});
|
||||
});
|
|
@ -23,7 +23,7 @@ describe("Plex Settings Tests", () => {
|
|||
"version": "1.30.0.6442-5070ad484",
|
||||
"scheme": "http",
|
||||
"host": "2.2.2.2",
|
||||
"localAddresses": "localhost",
|
||||
"localAddresses": "http://host.docker.internal",
|
||||
"machineIdentifier": "9999999999999999",
|
||||
"createdAt": "5555555555",
|
||||
"updatedAt": "6666666666",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue