mirror of
				https://github.com/strapi/strapi.git
				synced 2025-10-31 18:08:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			105 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| let jwt;
 | |
| let userId;
 | |
| const animDelay = Cypress.config('animDelay');
 | |
| const backendUrl = Cypress.config('backendUrl');
 | |
| const frontEndUrl = Cypress.config('baseUrl');
 | |
| const frontLoadingDelay = Cypress.config('frontLoadingDelay');
 | |
| const links = {
 | |
|   Category: '/admin/plugins/content-manager/category?source=content-manager',
 | |
|   Product: '/admin/plugins/content-manager/product?source=content-manager',
 | |
|   settings: '/admin/plugins/content-manager/ctm-configurations',
 | |
|   Tag: '/admin/plugins/content-manager/tag?source=content-manager',
 | |
|   User: '/admin/plugins/content-manager/user?source=users-permissions',
 | |
| };
 | |
| const pluginUrl = `${frontEndUrl}/admin/plugins/content-manager`;
 | |
| 
 | |
| describe('Testing build and schema core_store', () => {
 | |
|   before(() => {
 | |
|     cy.login()
 | |
|       .then(data => {
 | |
|         jwt = data.jwt;
 | |
|         return cy.createCTMApis(data.jwt);
 | |
|       })
 | |
|       .wait(1000);
 | |
|   });
 | |
| 
 | |
|   after(() => {
 | |
|     cy.deleteApi('tag', jwt)
 | |
|       .deleteApi('category', jwt)
 | |
|       .deleteApi('product', jwt);
 | |
|   });
 | |
| 
 | |
|   context('Testing views', () => {
 | |
|     beforeEach(() => {
 | |
|       cy.login()
 | |
|         .then(data => {
 | |
|           jwt = data.jwt;
 | |
|           userId = data.user._id || data.user.id;
 | |
|         })
 | |
|         .visit('/admin')
 | |
|         .wait(frontLoadingDelay);
 | |
|     });
 | |
|   
 | |
|     it('Should visit all list pages without any errors', () => {
 | |
|       cy.server();
 | |
|       cy.route(`${backendUrl}/content-manager/models`).as('initCTM');
 | |
|       cy.get(`a[href="${links.settings}"]`)
 | |
|         .click()
 | |
|         .wait('@initCTM');
 | |
|   
 | |
|       // Check all list views are rendered without any error
 | |
|       for (let i = 0; i < 4; i++) {
 | |
|         Object.keys(links).forEach(link => {
 | |
|           const name = link === 'settings' ? 'Content Manager' : link;
 | |
|     
 | |
|           cy.get(`a[href="${links[link]}"]`)
 | |
|             .click()
 | |
|             .get('h1')
 | |
|             .should('have', name);
 | |
|         });
 | |
|       }
 | |
|       
 | |
|     });
 | |
|   
 | |
|     it('Should visit all views once without any errors', () => {
 | |
|       cy.server();
 | |
|       cy.route(`${backendUrl}/content-manager/models`).as('initCTM');
 | |
|       cy.get(`a[href="${links.settings}"]`)
 | |
|         .click()
 | |
|         .wait('@initCTM');
 | |
|       
 | |
|       // Testing errors related to reactstrap
 | |
|       cy.get('#cancelChanges')
 | |
|         .click()
 | |
|         .wait(animDelay)
 | |
|         .checkModalOpening()
 | |
|         .should('be.visible')
 | |
|         .type('{esc}');
 | |
| 
 | |
|       
 | |
|       // Test setting view
 | |
|       Object.keys(links).forEach(link => {
 | |
|         if (link !== 'settings') {
 | |
|           cy.get(`#${link.toLowerCase()}`)
 | |
|             .click()
 | |
|             .get('h1')
 | |
|             .should('have', `Content Manager - ${link}`)
 | |
|             .get(`a[href="${links.settings}"]`)
 | |
|             .click();
 | |
|         }
 | |
|       });
 | |
|   
 | |
|       Object.keys(links).forEach(link => {
 | |
|         if (link !== 'settings') {
 | |
|           cy.get(`a[href="${links[link]}"]`)
 | |
|             .click()
 | |
|             .get('button#addEntry')
 | |
|             .click()
 | |
|             .get('h1')
 | |
|             .should('have', 'New Entry');
 | |
|         }
 | |
|       });
 | |
|     });
 | |
|   });
 | |
| });
 | 
