mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	* Removes exports statements in e2e tests * Updates package.json to optionally use heroku url for e2e tests when running locally
		
			
				
	
	
		
			113 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
/// <reference types="cypress" />
 | 
						|
 | 
						|
const baseUrl = Cypress.config().baseUrl;
 | 
						|
const randomId = String(Math.random()).split('.')[1];
 | 
						|
const groupName = `unleash-e2e-${randomId}`;
 | 
						|
const userIds: any[] = [];
 | 
						|
 | 
						|
// Disable all active splash pages by visiting them.
 | 
						|
const disableActiveSplashScreens = () => {
 | 
						|
    cy.visit(`/splash/operators`);
 | 
						|
};
 | 
						|
 | 
						|
describe('groups', () => {
 | 
						|
    before(() => {
 | 
						|
        disableActiveSplashScreens();
 | 
						|
        cy.login();
 | 
						|
        for (let i = 1; i <= 2; i++) {
 | 
						|
            cy.request('POST', `${baseUrl}/api/admin/user-admin`, {
 | 
						|
                name: `unleash-e2e-user${i}-${randomId}`,
 | 
						|
                email: `unleash-e2e-user${i}-${randomId}@test.com`,
 | 
						|
                sendEmail: false,
 | 
						|
                rootRole: 3,
 | 
						|
            }).then(response => userIds.push(response.body.id));
 | 
						|
        }
 | 
						|
    });
 | 
						|
 | 
						|
    after(() => {
 | 
						|
        userIds.forEach(id =>
 | 
						|
            cy.request('DELETE', `${baseUrl}/api/admin/user-admin/${id}`)
 | 
						|
        );
 | 
						|
    });
 | 
						|
 | 
						|
    beforeEach(() => {
 | 
						|
        cy.login();
 | 
						|
        cy.visit('/admin/groups');
 | 
						|
        if (document.querySelector("[data-testid='CLOSE_SPLASH']")) {
 | 
						|
            cy.get("[data-testid='CLOSE_SPLASH']").click();
 | 
						|
        }
 | 
						|
    });
 | 
						|
 | 
						|
    it('can create a group', () => {
 | 
						|
        cy.get("[data-testid='NAVIGATE_TO_CREATE_GROUP']").click();
 | 
						|
 | 
						|
        cy.intercept('POST', '/api/admin/groups').as('createGroup');
 | 
						|
 | 
						|
        cy.get("[data-testid='UG_NAME_ID']").type(groupName);
 | 
						|
        cy.get("[data-testid='UG_DESC_ID']").type('hello-world');
 | 
						|
        cy.get("[data-testid='UG_USERS_ID']").click();
 | 
						|
        cy.contains(`unleash-e2e-user1-${randomId}`).click();
 | 
						|
 | 
						|
        cy.get("[data-testid='UG_CREATE_BTN_ID']").click();
 | 
						|
        cy.wait('@createGroup');
 | 
						|
        cy.contains(groupName);
 | 
						|
    });
 | 
						|
 | 
						|
    it('gives an error if a group exists with the same name', () => {
 | 
						|
        cy.get("[data-testid='NAVIGATE_TO_CREATE_GROUP']").click();
 | 
						|
 | 
						|
        cy.intercept('POST', '/api/admin/groups').as('createGroup');
 | 
						|
 | 
						|
        cy.get("[data-testid='UG_NAME_ID']").type(groupName);
 | 
						|
        cy.get("[data-testid='INPUT_ERROR_TEXT'").contains(
 | 
						|
            'A group with that name already exists.'
 | 
						|
        );
 | 
						|
    });
 | 
						|
 | 
						|
    it('can edit a group', () => {
 | 
						|
        cy.contains(groupName).click();
 | 
						|
 | 
						|
        cy.get("[data-testid='UG_EDIT_BTN_ID']").click();
 | 
						|
 | 
						|
        cy.get("[data-testid='UG_DESC_ID']").type('-my edited description');
 | 
						|
 | 
						|
        cy.get("[data-testid='UG_SAVE_BTN_ID']").click();
 | 
						|
 | 
						|
        cy.contains('hello-world-my edited description');
 | 
						|
    });
 | 
						|
 | 
						|
    it('can add user to a group', () => {
 | 
						|
        cy.contains(groupName).click();
 | 
						|
 | 
						|
        cy.get("[data-testid='UG_EDIT_USERS_BTN_ID']").click();
 | 
						|
 | 
						|
        cy.get("[data-testid='UG_USERS_ID']").click();
 | 
						|
        cy.contains(`unleash-e2e-user2-${randomId}`).click();
 | 
						|
 | 
						|
        cy.get("[data-testid='UG_SAVE_BTN_ID']").click();
 | 
						|
 | 
						|
        cy.contains(`unleash-e2e-user1-${randomId}`);
 | 
						|
        cy.contains(`unleash-e2e-user2-${randomId}`);
 | 
						|
    });
 | 
						|
 | 
						|
    it('can remove user from a group', () => {
 | 
						|
        cy.contains(groupName).click();
 | 
						|
 | 
						|
        cy.get(`[data-testid='UG_REMOVE_USER_BTN_ID-${userIds[1]}']`).click();
 | 
						|
 | 
						|
        cy.get("[data-testid='DIALOGUE_CONFIRM_ID'").click();
 | 
						|
 | 
						|
        cy.contains(`unleash-e2e-user1-${randomId}`);
 | 
						|
        cy.contains(`unleash-e2e-user2-${randomId}`).should('not.exist');
 | 
						|
    });
 | 
						|
 | 
						|
    it('can delete a group', () => {
 | 
						|
        cy.contains(groupName).click();
 | 
						|
 | 
						|
        cy.get("[data-testid='UG_DELETE_BTN_ID']").click();
 | 
						|
        cy.get("[data-testid='DIALOGUE_CONFIRM_ID'").click();
 | 
						|
 | 
						|
        cy.contains(groupName).should('not.exist');
 | 
						|
    });
 | 
						|
});
 |