001_posts.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /// <reference types="Cypress" />
  2. context('Module blog posts', () => {
  3. it('should reset', () => {
  4. cy.installCMS();
  5. });
  6. it('should render data table', () => {
  7. cy.loginCMS();
  8. cy.visitCMS('/cp/blog/');
  9. cy.get('table.data-table thead tr').should('have.length', 1);
  10. cy.get('table.data-table thead tr th').should('have.length', 4);
  11. cy.get('table.data-table tbody tr').should('have.length', 3);
  12. cy.get('table.data-table tbody tr:nth-child(1) td').should('have.length', 4);
  13. cy.logoutCMS();
  14. });
  15. it('should render data form', () => {
  16. cy.loginCMS();
  17. cy.visitCMS('/cp/blog/add/');
  18. cy.get('.data-form.blog-add input[type=text]').should('have.length', 4);
  19. cy.get('.data-form.blog-add select').should('have.length', 2);
  20. cy.get('.data-form.blog-add textarea').should('have.length', 2);
  21. cy.get('.data-form.blog-add input[type=checkbox]').should('have.length', 1);
  22. cy.logoutCMS();
  23. });
  24. it('should add new post', () => {
  25. cy.loginCMS();
  26. cy.visitCMS('/cp/blog/add/');
  27. cy.get('.data-form.blog-add input[name=name]').clear().type('Some test post');
  28. cy.get('.data-form.blog-add select#lbl_category').parent().find('button').click();
  29. cy.get('.data-form.blog-add select#lbl_category').parent().find('ul.dropdown-menu').contains('— — Natural').parent().click();
  30. cy.get('.data-form.blog-add select#lbl_cats').parent().find('button').click();
  31. cy.get('.data-form.blog-add select#lbl_cats').parent().find('ul.dropdown-menu').contains('Health and food').parent().click();
  32. cy.get('.data-form.blog-add select#lbl_cats').parent().find('ul.dropdown-menu').contains('— — Natural').parent().click();
  33. cy.get('.data-form.blog-add select#lbl_cats').parent().find('button').click();
  34. cy.get('.data-form.blog-add textarea[name=briefly]').parent().find('.pell-content').clear().type('Some brief content');
  35. cy.get('.data-form.blog-add textarea[name=content]').parent().find('.pell-content').clear().type('Some test content');
  36. cy.get('.data-form.blog-add label[for=lbl_active]').click();
  37. cy.get('#add-edit-button').click();
  38. cy.actionWait();
  39. cy.logoutCMS();
  40. });
  41. it('should render added post in list', () => {
  42. cy.loginCMS();
  43. cy.visitCMS('/cp/blog/');
  44. cy.get('table.data-table tbody tr').should('have.length', 4);
  45. cy.get('table.data-table tbody tr td').should('contain', 'Some test post');
  46. cy.contains('table.data-table tbody tr td a', 'Some test post').parentsUntil('tr').parent().find('.svg-green').should('exist');
  47. cy.logoutCMS();
  48. });
  49. it('should render added post in edit form', () => {
  50. cy.loginCMS();
  51. cy.visitCMS('/cp/blog/');
  52. cy.contains('table.data-table tbody tr td a', 'Some test post').click();
  53. cy.get('.data-form.blog-modify input[name=name]').should('have.value', 'Some test post');
  54. cy.get('.data-form.blog-modify input[name=alias]').should('have.value', 'some-test-post');
  55. cy.get('.data-form.blog-modify select#lbl_category').should('have.value', '7');
  56. cy.get('.data-form.blog-modify select#lbl_cats').invoke('val').should('deep.equal', ['2', '7']);
  57. cy.get('.data-form.blog-modify textarea[name=briefly]').parent().find('.pell-content').should(($editor) => {
  58. expect($editor).to.have.text('Some brief content');
  59. });
  60. cy.get('.data-form.blog-modify textarea[name=content]').parent().find('.pell-content').should(($editor) => {
  61. expect($editor).to.have.text('Some test content');
  62. });
  63. cy.get('.data-form.blog-modify input[name=active]').should('be.checked');
  64. cy.logoutCMS();
  65. });
  66. it('should delete added post', () => {
  67. cy.loginCMS();
  68. cy.visitCMS('/cp/blog/');
  69. cy.contains('table.data-table tbody tr td a', 'Some test post').parentsUntil('tr').parent().find('td a.ico.delete').click();
  70. cy.actionWait();
  71. cy.get('table.data-table tbody tr').should('have.length', 3);
  72. cy.logoutCMS();
  73. });
  74. });