54 lines
1.6 KiB
JavaScript
54 lines
1.6 KiB
JavaScript
import {getMinimalMe} from '../../../support/helpers';
|
|
|
|
const getOperations = ({readOnly = false, classReadOnly = false}) => ({
|
|
MeQuery: getMinimalMe({readOnly, classReadOnly}),
|
|
ProjectsQuery: {
|
|
projects: [
|
|
{
|
|
id: 'projectId',
|
|
final: false,
|
|
student: {
|
|
id: btoa('PrivateUserNode:1'),
|
|
},
|
|
entriesCount: 3,
|
|
},
|
|
],
|
|
},
|
|
});
|
|
|
|
describe('Read Only Portfolio', () => {
|
|
beforeEach(() => {
|
|
cy.setup();
|
|
});
|
|
|
|
it('Can create and edit project', () => {
|
|
cy.mockGraphqlOps({operations: getOperations({readOnly: false})});
|
|
|
|
cy.visit('/portfolio');
|
|
cy.getByDataCy('project-list').should('exist');
|
|
cy.getByDataCy('add-project-button').should('exist');
|
|
cy.getByDataCy('project').should('have.length', 1);
|
|
cy.getByDataCy('project-actions').should('exist');
|
|
});
|
|
|
|
it('Can not create and edit project when license invalid', () => {
|
|
cy.mockGraphqlOps({operations: getOperations({readOnly: true})});
|
|
|
|
cy.visit('/portfolio');
|
|
cy.getByDataCy('project-list').should('exist');
|
|
cy.getByDataCy('add-project-button').should('not.exist');
|
|
cy.getByDataCy('project').should('have.length', 1);
|
|
cy.getByDataCy('project-actions').should('not.exist');
|
|
});
|
|
|
|
it('Can not create and edit project when class inactive', () => {
|
|
cy.mockGraphqlOps({operations: getOperations({readOnly: false, classReadOnly: true})});
|
|
|
|
cy.visit('/portfolio');
|
|
cy.getByDataCy('project-list').should('exist');
|
|
cy.getByDataCy('add-project-button').should('not.exist');
|
|
cy.getByDataCy('project').should('have.length', 1);
|
|
cy.getByDataCy('project-actions').should('not.exist');
|
|
});
|
|
});
|