|
|
|
const visitUserEditPage = (email: string): void => {
|
|
|
|
cy.visit('/users');
|
|
|
|
|
|
|
|
cy.contains('[data-testid=user-list-row]', email).contains('Edit').click();
|
|
|
|
};
|
|
|
|
|
|
|
|
describe('Auto Request Settings', () => {
|
|
|
|
beforeEach(() => {
|
|
|
|
cy.loginAsAdmin();
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should not see watchlist sync settings on an account without permissions', () => {
|
|
|
|
visitUserEditPage(Cypress.env('USER_EMAIL'));
|
|
|
|
|
|
|
|
cy.contains('Auto-Request Movies').should('not.exist');
|
|
|
|
cy.contains('Auto-Request Series').should('not.exist');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should see watchlist sync settings on an admin account', () => {
|
|
|
|
visitUserEditPage(Cypress.env('ADMIN_EMAIL'));
|
|
|
|
|
|
|
|
cy.contains('Auto-Request Movies').should('exist');
|
|
|
|
cy.contains('Auto-Request Series').should('exist');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should see auto-request settings after being given permission', () => {
|
|
|
|
visitUserEditPage(Cypress.env('USER_EMAIL'));
|
|
|
|
|
|
|
|
cy.get('[data-testid=settings-nav-desktop').contains('Permissions').click();
|
|
|
|
|
|
|
|
cy.get('#autorequest').should('not.be.checked').click();
|
|
|
|
|
|
|
|
cy.intercept('/api/v1/user/*/settings/permissions').as('userPermissions');
|
|
|
|
|
|
|
|
cy.contains('Save Changes').click();
|
|
|
|
|
|
|
|
cy.wait('@userPermissions');
|
|
|
|
|
|
|
|
cy.reload();
|
|
|
|
|
|
|
|
cy.get('#autorequest').should('be.checked');
|
|
|
|
cy.get('#autorequestmovies').should('be.checked');
|
|
|
|
cy.get('#autorequesttv').should('be.checked');
|
|
|
|
|
|
|
|
cy.get('[data-testid=settings-nav-desktop').contains('General').click();
|
|
|
|
|
|
|
|
cy.contains('Auto-Request Movies').should('exist');
|
|
|
|
cy.contains('Auto-Request Series').should('exist');
|
|
|
|
|
|
|
|
cy.get('#watchlistSyncMovies').should('not.be.checked').click();
|
|
|
|
cy.get('#watchlistSyncTv').should('not.be.checked').click();
|
|
|
|
|
|
|
|
cy.intercept('/api/v1/user/*/settings/main').as('userMain');
|
|
|
|
|
|
|
|
cy.contains('Save Changes').click();
|
|
|
|
|
|
|
|
cy.wait('@userMain');
|
|
|
|
|
|
|
|
cy.reload();
|
|
|
|
|
|
|
|
cy.get('#watchlistSyncMovies').should('be.checked').click();
|
|
|
|
cy.get('#watchlistSyncTv').should('be.checked').click();
|
|
|
|
|
|
|
|
cy.contains('Save Changes').click();
|
|
|
|
|
|
|
|
cy.wait('@userMain');
|
|
|
|
|
|
|
|
cy.get('[data-testid=settings-nav-desktop').contains('Permissions').click();
|
|
|
|
|
|
|
|
cy.get('#autorequest').should('be.checked').click();
|
|
|
|
|
|
|
|
cy.contains('Save Changes').click();
|
|
|
|
});
|
|
|
|
});
|