|
|
|
import { movieDetailsPage as Page } from "@/integration/page-objects";
|
|
|
|
|
|
|
|
describe("Movie Details Buttons", () => {
|
|
|
|
it("Movie Requested by Admin should be auto approved", () => {
|
|
|
|
cy.login();
|
|
|
|
|
|
|
|
Page.visit("587807");
|
|
|
|
Page.requestButton.click();
|
|
|
|
Page.adminOptionsDialog.isOpen();
|
|
|
|
|
|
|
|
Page.adminOptionsDialog.requestButton.click();
|
|
|
|
|
|
|
|
cy.verifyNotification("Tom & Jerry (2021) has been successfully added");
|
|
|
|
|
|
|
|
Page.requestedButton.should("be.visible");
|
|
|
|
});
|
|
|
|
|
|
|
|
it("Movie Requested by Regular user should be pending", () => {
|
|
|
|
cy.generateUniqueId().then((id) => {
|
|
|
|
cy.login();
|
|
|
|
const roles = [];
|
|
|
|
roles.push({ value: "RequestMovie", enabled: true });
|
|
|
|
cy.createUser(id, "a", roles).then(() => {
|
|
|
|
cy.loginWithCreds(id, "a");
|
|
|
|
|
|
|
|
Page.visit("651571");
|
|
|
|
|
|
|
|
Page.requestButton.click();
|
|
|
|
cy.verifyNotification("Breach (2020) has been successfully added");
|
|
|
|
|
|
|
|
Page.requestedButton.should("be.visible");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
it("Movie Requested by Regular with no movie permission", () => {
|
|
|
|
cy.generateUniqueId().then((id) => {
|
|
|
|
cy.login();
|
|
|
|
const roles = [];
|
|
|
|
roles.push({ value: "RequestTv", enabled: true });
|
|
|
|
cy.createUser(id, "a", roles).then(() => {
|
|
|
|
cy.loginWithCreds(id, "a");
|
|
|
|
|
|
|
|
Page.visit("791373");
|
|
|
|
|
|
|
|
Page.requestButton.click();
|
|
|
|
cy.verifyNotification("You do not have permissions to Request a Movie");
|
|
|
|
|
|
|
|
Page.requestedButton.should("not.exist");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
it("Movie Requested by Regular can be approved by admin", () => {
|
|
|
|
cy.generateUniqueId().then((id) => {
|
|
|
|
cy.login();
|
|
|
|
const roles = [];
|
|
|
|
roles.push({ value: "RequestMovie", enabled: true });
|
|
|
|
cy.createUser(id, "a", roles).then(() => {
|
|
|
|
cy.loginWithCreds(id, "a");
|
|
|
|
|
|
|
|
Page.visit("793723");
|
|
|
|
|
|
|
|
Page.requestButton.click();
|
|
|
|
cy.verifyNotification("Sentinelle (2021) has been successfully added");
|
|
|
|
|
|
|
|
Page.requestedButton.should("be.visible");
|
|
|
|
|
|
|
|
// Login as admin now
|
|
|
|
cy.removeLogin();
|
|
|
|
cy.login();
|
|
|
|
cy.reload();
|
|
|
|
|
|
|
|
Page.visit("793723");
|
|
|
|
|
|
|
|
Page.approveButton.should("exist");
|
|
|
|
Page.approveButton.click();
|
|
|
|
|
|
|
|
cy.verifyNotification("Successfully Approved");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
it("Movie Requested, mark as available", () => {
|
|
|
|
cy.login();
|
|
|
|
|
|
|
|
Page.visit("12444");
|
|
|
|
|
|
|
|
Page.requestButton.click();
|
|
|
|
Page.adminOptionsDialog.isOpen();
|
|
|
|
Page.adminOptionsDialog.requestButton.click();
|
|
|
|
cy.verifyNotification(
|
|
|
|
"Harry Potter and the Deathly Hallows: Part 1 (2010) has been successfully added"
|
|
|
|
);
|
|
|
|
|
|
|
|
cy.reload();
|
|
|
|
|
|
|
|
Page.markAvailableButton.should("exist");
|
|
|
|
Page.markAvailableButton.click();
|
|
|
|
|
|
|
|
cy.verifyNotification("Request is now available");
|
|
|
|
Page.availableButton.should("exist");
|
|
|
|
});
|
|
|
|
|
|
|
|
it.skip("Movie Requested, Deny Movie", () => {
|
|
|
|
cy.login();
|
|
|
|
|
|
|
|
Page.visit("671");
|
|
|
|
|
|
|
|
Page.requestButton.click();
|
|
|
|
Page.adminOptionsDialog.isOpen();
|
|
|
|
Page.adminOptionsDialog.requestButton.click();
|
|
|
|
cy.verifyNotification(
|
|
|
|
"Harry Potter and the Philosopher's Stone (2001) has been successfully added"
|
|
|
|
);
|
|
|
|
|
|
|
|
cy.reload();
|
|
|
|
|
|
|
|
Page.denyButton.should("exist");
|
|
|
|
Page.denyButton.click();
|
|
|
|
|
|
|
|
Page.denyModal.denyReason.type("Automation Tests");
|
|
|
|
cy.wait(500);
|
|
|
|
Page.denyModal.denyButton.click();
|
|
|
|
|
|
|
|
Page.deniedButton.should('exist');
|
|
|
|
|
|
|
|
cy.verifyNotification("Denied Request");
|
|
|
|
|
|
|
|
cy.wait(1000);
|
|
|
|
Page.informationPanel.denyReason.should('have.text', "Automation Tests");
|
|
|
|
});
|
|
|
|
|
|
|
|
it("Movie View Collection should be available", () => {
|
|
|
|
cy.login();
|
|
|
|
|
|
|
|
Page.visit("671");
|
|
|
|
|
|
|
|
Page.viewCollectionButton.should('be.visible');
|
|
|
|
});
|
|
|
|
|
|
|
|
it("Non requested movie valid buttons", () => {
|
|
|
|
cy.login();
|
|
|
|
|
|
|
|
Page.visit("590706");
|
|
|
|
|
|
|
|
Page.viewCollectionButton.should('not.exist');
|
|
|
|
Page.approveButton.should('not.exist');
|
|
|
|
Page.denyButton.should('not.exist');
|
|
|
|
Page.deniedButton.should('not.exist');
|
|
|
|
Page.markAvailableButton.should('not.exist');
|
|
|
|
Page.viewOnEmbyButton.should('not.exist');
|
|
|
|
Page.viewOnJellyfinButton.should('not.exist');
|
|
|
|
Page.viewOnPlexButton.should('not.exist');
|
|
|
|
Page.requestedButton.should('not.exist');
|
|
|
|
Page.reportIssueButton.should('not.exist'); // Issuess not enabled
|
|
|
|
Page.requestButton.should('exist');
|
|
|
|
});
|
|
|
|
});
|