From 402958c591a721da75f8fec03e0d284fdcba763d Mon Sep 17 00:00:00 2001 From: Bjarke Berg Date: Mon, 29 Jun 2020 20:45:51 +0200 Subject: [PATCH 1/2] Updated Cypress to latest + Created tests for creating member and member group --- .../integration/Members/memberGroups.js | 32 +++++++++++++++ .../cypress/integration/Members/members.js | 41 +++++++++++++++++++ .../Users/{userGroups.ts => userGroups.js} | 1 - src/Umbraco.Tests.AcceptanceTest/package.json | 4 +- 4 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 src/Umbraco.Tests.AcceptanceTest/cypress/integration/Members/memberGroups.js create mode 100644 src/Umbraco.Tests.AcceptanceTest/cypress/integration/Members/members.js rename src/Umbraco.Tests.AcceptanceTest/cypress/integration/Users/{userGroups.ts => userGroups.js} (99%) diff --git a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Members/memberGroups.js b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Members/memberGroups.js new file mode 100644 index 0000000000..be9b93134d --- /dev/null +++ b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Members/memberGroups.js @@ -0,0 +1,32 @@ +context('User Groups', () => { + + beforeEach(() => { + cy.umbracoLogin(Cypress.env('username'), Cypress.env('password')); + }); + + it('Create member group', () => { + const name = "Test Group"; + + cy.umbracoEnsureMemberGroupNameNotExists(name); + + cy.umbracoSection('member'); + cy.get('li .umb-tree-root:contains("Members")').should("be.visible"); + + cy.umbracoTreeItem("member", ["Member Groups"]).rightclick(); + + cy.umbracoContextMenuAction("action-create").click(); + + //Type name + cy.umbracoEditorHeaderName(name); + + // Save + cy.get('.btn-success').click(); + + //Assert + cy.umbracoSuccessNotification().should('be.visible'); + + //Clean up + cy.umbracoEnsureMemberGroupNameNotExists(name); + }); + +}); diff --git a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Members/members.js b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Members/members.js new file mode 100644 index 0000000000..aeb4576ccd --- /dev/null +++ b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Members/members.js @@ -0,0 +1,41 @@ +/// +context('Members', () => { + + beforeEach(() => { + cy.umbracoLogin(Cypress.env('username'), Cypress.env('password')); + }); + + it('Create member', () => { + const name = "Alice Bobson"; + const email = "alice-bobson@acceptancetest.umbraco"; + const password = "$AUlkoF*St0kgPiyyVEk5iU5JWdN*F7&@OSl5Y4pOofnidfifkBj5Ns2ONv%FzsTl36V1E924Gw97zcuSeT7UwK&qb5l&O9h!d!w"; + + cy.umbracoEnsureMemberEmailNotExists(email); + cy.umbracoSection('member'); + cy.get('li .umb-tree-root:contains("Members")').should("be.visible"); + + cy.umbracoTreeItem("member", ["Members"]).rightclick(); + + cy.umbracoContextMenuAction("action-create").click(); + cy.get('.menu-label').first().click(); + + //Type name + cy.umbracoEditorHeaderName(name); + + cy.get('input#_umb_login').clear().type(email); + cy.get('input#_umb_email').clear().type(email); + cy.get('input#password').clear().type(password); + cy.get('input#confirmPassword').clear().type(password); + + // Save + cy.get('.btn-success').click(); + + //Assert + cy.umbracoSuccessNotification().should('be.visible'); + + //Clean up + cy.umbracoEnsureMemberEmailNotExists(email); + + }); + +}); diff --git a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Users/userGroups.ts b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Users/userGroups.js similarity index 99% rename from src/Umbraco.Tests.AcceptanceTest/cypress/integration/Users/userGroups.ts rename to src/Umbraco.Tests.AcceptanceTest/cypress/integration/Users/userGroups.js index 905d0fc25c..afef0e7701 100644 --- a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Users/userGroups.ts +++ b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Users/userGroups.js @@ -1,4 +1,3 @@ - context('User Groups', () => { beforeEach(() => { diff --git a/src/Umbraco.Tests.AcceptanceTest/package.json b/src/Umbraco.Tests.AcceptanceTest/package.json index ad125d090a..3b4177ce3f 100644 --- a/src/Umbraco.Tests.AcceptanceTest/package.json +++ b/src/Umbraco.Tests.AcceptanceTest/package.json @@ -6,8 +6,8 @@ "devDependencies": { "cross-env": "^7.0.2", "ncp": "^2.0.0", - "cypress": "^4.6.0", - "umbraco-cypress-testhelpers": "1.0.0-beta-39" + "cypress": "^4.9.0", + "umbraco-cypress-testhelpers": "1.0.0-beta-44" }, "dependencies": { "typescript": "^3.9.2" From b078f856b9f6c77dd0233f8d7d51bd02b5d7f6da Mon Sep 17 00:00:00 2001 From: Shannon Date: Thu, 2 Jul 2020 15:36:15 +1000 Subject: [PATCH 2/2] Remove the usage of Parallel to run the populators --- src/Umbraco.Examine/IndexRebuilder.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Examine/IndexRebuilder.cs b/src/Umbraco.Examine/IndexRebuilder.cs index 786aecac71..02fb4fc2da 100644 --- a/src/Umbraco.Examine/IndexRebuilder.cs +++ b/src/Umbraco.Examine/IndexRebuilder.cs @@ -50,8 +50,11 @@ namespace Umbraco.Examine index.CreateIndex(); // clear the index } - //run the populators in parallel against all indexes - Parallel.ForEach(_populators, populator => populator.Populate(indexes)); + // run each populator over the indexes + foreach(var populator in _populators) + { + populator.Populate(indexes); + } } }