HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/ste.komma.pro/tests/Cypress/integration/kms/posts_spec.js
// / <reference types="Cypress" />
import faker from 'faker'

describe('Posts', function() {
    it('Should be possible to create a post', function() {
        cy.kms_login('kms/posts');
        cy.getCsrfToken((csrfToken) => {
            cy.request({
                method: 'GET',
                url: 'testapi/v1/sites/index',
                headers: {'X-CSRF-TOKEN': csrfToken},
                body: {}
            }).then((response) => {
                let sites = response.body.data;
                let site = sites[0];

                let postName = 'Cypress test post '+faker.random.number({min: 10000, max: 99999});

                //Click the add button to make a new post
                cy.log('Making a new post');
                cy.get('[data-test="add_button"]').click();

                //Select an author and site
                cy.log('Setting the site and the author');
                cy.get('[data-test=MultiSelect-author_id-fake]').type('{downarrow}{downarrow}{enter}').wait(350);

                //Disable the active button
                cy.log('Disabling the active toggle');
                cy.get('[data-test="OnOff-active_toggle"]').click();
                cy.get('[data-test="OnOff-active"]').should('have.value', '0');

                //Set a date
                cy.log('Setting the date and time');
                cy.get('[data-test="DatePicker-date_date"]').type('{backspace}{backspace}{backspace}{backspace}{backspace}{backspace}{backspace}{backspace}{backspace}{backspace}'); //Clear date
                cy.get('[data-test="DatePicker-date_date"]').type('02/10/2017');
                cy.get('[data-test="DatePicker-date_date"]').type('{enter}');
                cy.get('[data-test="DatePicker-date_time_hours"]').type('{backspace}{backspace}');
                cy.get('[data-test="DatePicker-date_time_hours"]').type('9');
                cy.get('[data-test="DatePicker-date_time_minutes"]').type('{backspace}{backspace}');
                cy.get('[data-test="DatePicker-date_time_minutes"]').type('1');

                cy.log('Setting a dutch title and saving the post');
                cy.get('[data-test="entity_tab_nl"]').click();
                cy.get('[data-test="TextField-name-nl"]').type(postName);
                cy.get('[data-test="save_button"]').click();
                cy.get('[data-test=flash_message]').should('have.attr', 'data-type', '2'); //Data type 2 means success

                cy.log('Verify the post');
                cy.get('[data-test="entity_tab_algemeen"]').click();
                cy.get('[data-test="OnOff-active"]').should('have.value', '0');
                cy.get('[data-test="DatePicker-date_date"]').should('have.value', '02/10/2017');
                cy.get('[data-test="DatePicker-date_time_hours"]').should('have.value', '09');
                cy.get('[data-test="DatePicker-date_time_minutes"]').should('have.value', '01');

                cy.log('Delete the post');
                cy.get('[data-test="entity_search_input"]').type(postName);
                cy.get('[data-test="search-result-counter"]').contains('1').should('exist');
                cy.get('[data-test="found_search_item"]').click();
                cy.get('[data-test="entity_header"]').contains(postName).should('exist');
                cy.get('[data-test="delete_button"]').click();
                cy.get('[data-test="confirmation_confirm"]').click();
                cy.get('[data-test=flash_message]').should('have.attr', 'data-type', '3'); //Data type 3 means general ok
            })
        });
    });
});