skillbox/client/cypress/e2e/frontend/portfolio/new-project.spec.js

56 lines
1.5 KiB
JavaScript

import { getMinimalMe } from '../../../support/helpers';
describe('New project', () => {
const MeQuery = getMinimalMe({ isTeacher: false });
const schoolClass = MeQuery.me.selectedClass;
const operations = {
ProjectsQuery: {
projects: [
{
id: 'UHJvamVjdE5vZGU6NjY=',
title: 'Some random title',
appearance: 'blue',
description: 'This description rocks',
slug: 'some-random-title',
final: false,
schoolClass,
student: {
firstName: 'Rachel',
lastName: 'Green',
id: 'VXNlck5vZGU6NQ==',
avatarUrl: '',
},
entriesCount: 0,
},
],
},
MeQuery,
AddProject: (variables) => ({
addProject: {
project: Object.assign({}, variables.input.project, { schoolClass }),
errors: null,
__typename: 'AddProjectPayload',
},
}),
};
before(() => {
cy.setup();
});
it('creates a new project and displays it', () => {
cy.mockGraphqlOps({
operations,
});
cy.visit('/portfolio');
cy.get('[data-cy=create-project-button]').click();
cy.get('[data-cy=page-form-input-titel]').type('Some random title');
cy.get('[data-cy=page-form-input-beschreibung]').should('exist').should('be.empty');
cy.get('[data-cy=page-form-input-ziele]').should('not.exist');
cy.get('[data-cy=save-project-button]').click();
cy.getByDataCy('project').contains('random');
});
});