diff --git a/core/server/data/migrations/versions/5.0/2022-05-05-13-29-add-newsletters-admin-integration-permission-roles.js b/core/server/data/migrations/versions/5.0/2022-05-05-13-29-add-newsletters-admin-integration-permission-roles.js new file mode 100644 index 0000000000..84e62fca70 --- /dev/null +++ b/core/server/data/migrations/versions/5.0/2022-05-05-13-29-add-newsletters-admin-integration-permission-roles.js @@ -0,0 +1,20 @@ +const {combineTransactionalMigrations, addPermissionToRole} = require('../../utils'); + +module.exports = combineTransactionalMigrations( + addPermissionToRole({ + permission: 'Browse newsletters', + role: 'Admin Integration' + }), + addPermissionToRole({ + permission: 'Read newsletters', + role: 'Admin Integration' + }), + addPermissionToRole({ + permission: 'Edit newsletters', + role: 'Admin Integration' + }), + addPermissionToRole({ + permission: 'Add newsletters', + role: 'Admin Integration' + }) +); diff --git a/core/server/data/schema/fixtures/fixtures.json b/core/server/data/schema/fixtures/fixtures.json index c869706de4..d910b0fcb5 100644 --- a/core/server/data/schema/fixtures/fixtures.json +++ b/core/server/data/schema/fixtures/fixtures.json @@ -699,7 +699,8 @@ "email": "all", "snippet": "all", "product": ["browse", "read", "add", "edit"], - "offer": ["browse", "read", "add", "edit"] + "offer": ["browse", "read", "add", "edit"], + "newsletter": ["browse", "read", "add", "edit"] }, "Editor": { "notification": "all", diff --git a/test/integration/migrations/migration.test.js b/test/integration/migrations/migration.test.js index bb81f322f3..db2b690ae8 100644 --- a/test/integration/migrations/migration.test.js +++ b/test/integration/migrations/migration.test.js @@ -147,15 +147,15 @@ describe('Database Migration (special functions)', function () { permissions.should.havePermission('Add Members'); permissions.should.havePermission('Delete Members'); - permissions.should.havePermission('Browse offers', ['Administrator']); - permissions.should.havePermission('Read offers', ['Administrator']); - permissions.should.havePermission('Edit offers', ['Administrator']); - permissions.should.havePermission('Add offers', ['Administrator']); + permissions.should.havePermission('Browse offers'); + permissions.should.havePermission('Read offers'); + permissions.should.havePermission('Edit offers'); + permissions.should.havePermission('Add offers'); - permissions.should.havePermission('Browse Products', ['Administrator', 'Editor', 'Author']); - permissions.should.havePermission('Read Products', ['Administrator', 'Editor', 'Author']); - permissions.should.havePermission('Edit Products', ['Administrator']); - permissions.should.havePermission('Add Products', ['Administrator']); + permissions.should.havePermission('Browse Products', ['Administrator', 'Editor', 'Author', 'Admin Integration']); + permissions.should.havePermission('Read Products', ['Administrator', 'Editor', 'Author', 'Admin Integration']); + permissions.should.havePermission('Edit Products', ['Administrator', 'Admin Integration']); + permissions.should.havePermission('Add Products', ['Administrator', 'Admin Integration']); permissions.should.havePermission('Delete Products', ['Administrator']); permissions.should.havePermission('Reset all passwords', ['Administrator']); @@ -163,10 +163,10 @@ describe('Database Migration (special functions)', function () { permissions.should.havePermission('Browse custom theme settings', ['Administrator']); permissions.should.havePermission('Edit custom theme settings', ['Administrator']); - permissions.should.havePermission('Browse newsletters', ['Administrator']); - permissions.should.havePermission('Read newsletters', ['Administrator']); - permissions.should.havePermission('Edit newsletters', ['Administrator']); - permissions.should.havePermission('Add newsletters', ['Administrator']); + permissions.should.havePermission('Browse newsletters', ['Administrator', 'Admin Integration']); + permissions.should.havePermission('Read newsletters', ['Administrator', 'Admin Integration']); + permissions.should.havePermission('Edit newsletters', ['Administrator', 'Admin Integration']); + permissions.should.havePermission('Add newsletters', ['Administrator', 'Admin Integration']); }); describe('Populate', function () { diff --git a/test/unit/server/data/schema/fixtures/fixture-manager.test.js b/test/unit/server/data/schema/fixtures/fixture-manager.test.js index 2c245a43da..4a880745ee 100644 --- a/test/unit/server/data/schema/fixtures/fixture-manager.test.js +++ b/test/unit/server/data/schema/fixtures/fixture-manager.test.js @@ -201,18 +201,18 @@ describe('Migration Fixture Utils', function () { fixtureManager.addFixturesForRelation(fixtures.relations[0]).then(function (result) { should.exist(result); result.should.be.an.Object(); - result.should.have.property('expected', 83); - result.should.have.property('done', 83); + result.should.have.property('expected', 86); + result.should.have.property('done', 86); // Permissions & Roles permsAllStub.calledOnce.should.be.true(); rolesAllStub.calledOnce.should.be.true(); - dataMethodStub.filter.callCount.should.eql(83); + dataMethodStub.filter.callCount.should.eql(86); dataMethodStub.find.callCount.should.eql(7); - baseUtilAttachStub.callCount.should.eql(83); + baseUtilAttachStub.callCount.should.eql(86); - fromItem.related.callCount.should.eql(83); - fromItem.find.callCount.should.eql(83); + fromItem.related.callCount.should.eql(86); + fromItem.find.callCount.should.eql(86); done(); }).catch(done); diff --git a/test/unit/server/data/schema/integrity.test.js b/test/unit/server/data/schema/integrity.test.js index 39e29aa40c..8c2fa354c4 100644 --- a/test/unit/server/data/schema/integrity.test.js +++ b/test/unit/server/data/schema/integrity.test.js @@ -36,7 +36,7 @@ const validateRouteSettings = require('../../../../../core/server/services/route describe('DB version integrity', function () { // Only these variables should need updating const currentSchemaHash = 'e913ad0d62d2e8e64c28aa41cb443076'; - const currentFixturesHash = 'ab89cbc5cfb7b977c34b2de00e1bea40'; + const currentFixturesHash = 'e840343b816a5f9c6b1849c5220bacf8'; const currentSettingsHash = 'ffd899a82b0ad2886e92d8244bcbca6a'; const currentRoutesHash = '3d180d52c663d173a6be791ef411ed01'; diff --git a/test/utils/fixtures/fixtures.json b/test/utils/fixtures/fixtures.json index 75877aa4a0..6354a15942 100644 --- a/test/utils/fixtures/fixtures.json +++ b/test/utils/fixtures/fixtures.json @@ -870,7 +870,10 @@ "label": "all", "email_preview": "all", "email": "all", - "snippet": "all" + "snippet": "all", + "product": ["browse", "read", "add", "edit"], + "offer": ["browse", "read", "add", "edit"], + "newsletter": ["browse", "read", "add", "edit"] }, "Editor": { "notification": "all",