mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-14 10:36:54 -07:00
Added more tests to cover the request grid around TV
This commit is contained in:
parent
432fb683c2
commit
c2a3fd1c4f
9 changed files with 225 additions and 40 deletions
|
@ -1,5 +1,10 @@
|
|||
import { BasePage } from "../../base.page";
|
||||
|
||||
class BaseMediaPage extends BasePage {
|
||||
get title(): Cypress.Chainable<any> {
|
||||
return cy.get('#mediaTitle');
|
||||
}
|
||||
}
|
||||
class TvRequestPanel {
|
||||
|
||||
seasonTab(seasonNumber: number): Cypress.Chainable<any> {
|
||||
|
@ -56,7 +61,7 @@ class TvDetailsInformationPanel {
|
|||
}
|
||||
}
|
||||
|
||||
class TvDetailsPage extends BasePage {
|
||||
class TvDetailsPage extends BaseMediaPage {
|
||||
|
||||
|
||||
get availableButton(): Cypress.Chainable<any> {
|
||||
|
|
|
@ -4,3 +4,4 @@ export * from './wizard/wizard.page';
|
|||
export * from './details/tv/tvdetails.page';
|
||||
export * from './search/search.page';
|
||||
export * from './user-preferences/user-preferences.page';
|
||||
export * from './requests/requests.page';
|
||||
|
|
132
tests/cypress/integration/page-objects/requests/requests.page.ts
Normal file
132
tests/cypress/integration/page-objects/requests/requests.page.ts
Normal file
|
@ -0,0 +1,132 @@
|
|||
import { BasePage } from "../base.page";
|
||||
|
||||
class MediaBaseTab {
|
||||
get allRequestsButton(): Cypress.Chainable<any> {
|
||||
return cy.get('#filterAll');
|
||||
}
|
||||
|
||||
get pendingRequestsButton(): Cypress.Chainable<any> {
|
||||
return cy.get('#filterPending');
|
||||
}
|
||||
|
||||
get processingRequestsButton(): Cypress.Chainable<any> {
|
||||
return cy.get('#filterProcessing');
|
||||
}
|
||||
|
||||
get availableRequestsButton(): Cypress.Chainable<any> {
|
||||
return cy.get('#filterAvailable');
|
||||
}
|
||||
|
||||
get deniedRequestsButton(): Cypress.Chainable<any> {
|
||||
return cy.get('#filterDenied');
|
||||
}
|
||||
|
||||
get requestsToDisplayDropdown(): Cypress.Chainable<any> {
|
||||
return cy.get('#requestsToDisplayDropdown');
|
||||
}
|
||||
|
||||
getGridRow(requestId: number): GridRow {
|
||||
return new GridRow(requestId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class GridRow {
|
||||
requestId: number;
|
||||
get title(): Cypress.Chainable<any> {
|
||||
return cy.get(`#title${this.requestId}`);
|
||||
}
|
||||
|
||||
get requestedBy(): Cypress.Chainable<any> {
|
||||
return cy.get(`#requestedBy${this.requestId}`);
|
||||
}
|
||||
|
||||
get requestedDate(): Cypress.Chainable<any> {
|
||||
return cy.get(`#requestedDate${this.requestId}`);
|
||||
}
|
||||
|
||||
get requestedStatus(): Cypress.Chainable<any> {
|
||||
return cy.get(`#requestedStatus${this.requestId}`);
|
||||
}
|
||||
|
||||
get status(): Cypress.Chainable<any> {
|
||||
return cy.get(`#status${this.requestId}`);
|
||||
}
|
||||
|
||||
get detailsButton(): Cypress.Chainable<any> {
|
||||
return cy.get(`#detailsButton${this.requestId}`);
|
||||
}
|
||||
|
||||
get optionsButton(): Cypress.Chainable<any> {
|
||||
return cy.get(`#optionsButton${this.requestId}`);
|
||||
}
|
||||
|
||||
get optionsDelete(): Cypress.Chainable<any> {
|
||||
return cy.get(`#requestDelete`);
|
||||
}
|
||||
|
||||
get optionsApprove(): Cypress.Chainable<any> {
|
||||
return cy.get(`#requestApprove`);
|
||||
}
|
||||
|
||||
get optionsChangeAvailability(): Cypress.Chainable<any> {
|
||||
return cy.get(`#requestChangeAvailability`);
|
||||
}
|
||||
|
||||
constructor(requestId: number) {
|
||||
this.requestId = requestId;
|
||||
}
|
||||
}
|
||||
|
||||
class MoviesTab extends MediaBaseTab {
|
||||
|
||||
get adminMasterCheckbox(): Cypress.Chainable<any> {
|
||||
return cy.get('#adminMasterCheckbox');
|
||||
}
|
||||
|
||||
get bulkFabButton(): Cypress.Chainable<any> {
|
||||
return cy.get('#bulkFab');
|
||||
}
|
||||
|
||||
get deleteFabButton(): Cypress.Chainable<any> {
|
||||
return cy.get('#deleteFabButton');
|
||||
}
|
||||
|
||||
get approveFabButton(): Cypress.Chainable<any> {
|
||||
return cy.get('#approveFabButton');
|
||||
}
|
||||
}
|
||||
|
||||
class RequestsPage extends BasePage {
|
||||
|
||||
get moviesTab(): Cypress.Chainable<any> {
|
||||
return cy.get('[role="tab"]').eq(0);
|
||||
}
|
||||
|
||||
get tvTab(): Cypress.Chainable<any> {
|
||||
return cy.get('[role="tab"]').eq(1);
|
||||
}
|
||||
|
||||
get musicTab(): Cypress.Chainable<any> {
|
||||
return cy.get('[role="tab"]').eq(2);
|
||||
}
|
||||
|
||||
movies = new MoviesTab();
|
||||
tv = new MediaBaseTab();
|
||||
music = new MediaBaseTab();
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
visit(options: Cypress.VisitOptions): Cypress.Chainable<Cypress.AUTWindow>;
|
||||
visit(): Cypress.Chainable<Cypress.AUTWindow>;
|
||||
visit(id: string): Cypress.Chainable<Cypress.AUTWindow>;
|
||||
visit(id: string, options: Cypress.VisitOptions): Cypress.Chainable<Cypress.AUTWindow>;
|
||||
visit(id?: any, options?: any) {
|
||||
return cy.visit(`/requests-list`, options);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export const requestPage = new RequestsPage();
|
Loading…
Add table
Add a link
Reference in a new issue