fixed e2e by adding acls where needed
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
This commit is contained in:
parent
0838f34771
commit
5914e8e1ac
|
@ -8,8 +8,11 @@ INSERT INTO `salix`.`ACL`
|
|||
('AccessToken', '*', '*', 'ALLOW', 'ROLE', 'developer'),
|
||||
('MailAliasAccount', '*', '*', 'ALLOW', 'ROLE', 'marketing'),
|
||||
('MailAliasAccount', '*', '*', 'ALLOW', 'ROLE', 'hr'),
|
||||
('MailAlias', '*', '*', 'ALLOW', 'ROLE', 'hr'),
|
||||
('MailForward', '*', '*', 'ALLOW', 'ROLE', 'marketing'),
|
||||
('MailForward', '*', '*', 'ALLOW', 'ROLE', 'hr'),
|
||||
('RoleInherit', '*', '*', 'ALLOW', 'ROLE', 'it'),
|
||||
('RoleRole', '*', '*', 'ALLOW', 'ROLE', 'it'),
|
||||
('AccountConfig', '*', '*', 'ALLOW', 'ROLE', 'sysadmin');
|
||||
|
||||
UPDATE `salix`.`ACL`
|
||||
|
@ -20,5 +23,5 @@ DELETE FROM `salix`.`ACL`
|
|||
WHERE id IN (280, 281);
|
||||
|
||||
UPDATE `salix`.`ACL`
|
||||
SET accessType='*'
|
||||
SET accessType='*', principalId='marketing'
|
||||
WHERE id=279;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import selectors from '../../helpers/selectors.js';
|
||||
import getBrowser from '../../helpers/puppeteer';
|
||||
|
||||
fdescribe('Account create and basic data path', () => {
|
||||
describe('Account create and basic data path', () => {
|
||||
let browser;
|
||||
let page;
|
||||
|
||||
|
@ -59,13 +59,12 @@ fdescribe('Account create and basic data path', () => {
|
|||
await page.accessToSection('account.card.roles');
|
||||
const rolesCount = await page.countElement(selectors.accountRoles.anyResult);
|
||||
|
||||
expect(rolesCount).toEqual(4);
|
||||
expect(rolesCount).toEqual(3);
|
||||
});
|
||||
|
||||
describe('Descriptor option', () => {
|
||||
describe('Edit role', () => {
|
||||
it('should edit the role using the descriptor menu', async() => {
|
||||
await page.waitForTimeout(1000); // sometimes descriptor fails to load it's functionalities without this timeout
|
||||
await page.waitToClick(selectors.accountDescriptor.menuButton);
|
||||
await page.waitToClick(selectors.accountDescriptor.changeRole);
|
||||
await page.autocompleteSearch(selectors.accountDescriptor.newRole, 'adminBoss');
|
||||
|
@ -76,7 +75,7 @@ fdescribe('Account create and basic data path', () => {
|
|||
});
|
||||
|
||||
it('should reload the roles section to see now there are more roles', async() => {
|
||||
// when role updated the db takes a while to return the changes, without this timeout the result would have been 4
|
||||
// when role updates db takes time to return changes, without this timeout the result would have been 3
|
||||
await page.waitForTimeout(1000);
|
||||
await page.reloadSection('account.card.roles');
|
||||
const rolesCount = await page.countElement(selectors.accountRoles.anyResult);
|
||||
|
|
|
@ -8,7 +8,7 @@ describe('Account Role create and basic data path', () => {
|
|||
beforeAll(async() => {
|
||||
browser = await getBrowser();
|
||||
page = browser.page;
|
||||
await page.loginAndModule('developer', 'account');
|
||||
await page.loginAndModule('it', 'account');
|
||||
await page.accessToSection('account.role');
|
||||
});
|
||||
|
||||
|
@ -76,11 +76,11 @@ describe('Account Role create and basic data path', () => {
|
|||
expect(subrolesCount).toEqual(1);
|
||||
});
|
||||
|
||||
it('should search for the employee role group then access to the roles inheritance section then check the roles listed are the expected ones', async() => {
|
||||
it('should access the employee roles inheritance then check the roles listed are the expected ones', async() => {
|
||||
await page.accessToSearchResult('employee');
|
||||
await page.accessToSection('account.role.card.inherited');
|
||||
const rolesCount = await page.countElement(selectors.accountRoleInheritance.anyResult);
|
||||
|
||||
expect(rolesCount).toEqual(7);
|
||||
expect(rolesCount).toEqual(6);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -29,5 +29,11 @@
|
|||
"foreignKey": "mailAlias",
|
||||
"property": "id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"acls": [{
|
||||
"accessType": "READ",
|
||||
"principalType": "ROLE",
|
||||
"principalId": "$everyone",
|
||||
"permission": "ALLOW"
|
||||
}]
|
||||
}
|
||||
|
|
|
@ -5,32 +5,32 @@
|
|||
model="model"
|
||||
class="vn-w-sm">
|
||||
<vn-card>
|
||||
<div class="vn-list separated">
|
||||
<a
|
||||
ng-repeat="user in model.data track by user.id"
|
||||
ui-sref="account.card.summary(::{id: user.id})"
|
||||
translate-attr="{title: 'View user'}"
|
||||
class="vn-item search-result">
|
||||
<vn-item-section>
|
||||
<h6>{{::user.nickname}}</h6>
|
||||
<vn-label-value
|
||||
label="Id"
|
||||
value="{{::user.id}}">
|
||||
</vn-label-value>
|
||||
<vn-label-value
|
||||
label="User"
|
||||
value="{{::user.name}}">
|
||||
</vn-label-value>
|
||||
</vn-item-section>
|
||||
<vn-item-section side>
|
||||
<vn-icon-button
|
||||
vn-click-stop="$ctrl.preview(user)"
|
||||
vn-tooltip="Preview"
|
||||
icon="preview">
|
||||
</vn-icon-button>
|
||||
</vn-item-section>
|
||||
</a>
|
||||
</div>
|
||||
<div class="vn-list separated">
|
||||
<a
|
||||
ng-repeat="user in model.data track by user.id"
|
||||
ui-sref="account.card.summary(::{id: user.id})"
|
||||
translate-attr="{title: 'View user'}"
|
||||
class="vn-item search-result">
|
||||
<vn-item-section>
|
||||
<h6>{{::user.nickname}}</h6>
|
||||
<vn-label-value
|
||||
label="Id"
|
||||
value="{{::user.id}}">
|
||||
</vn-label-value>
|
||||
<vn-label-value
|
||||
label="User"
|
||||
value="{{::user.name}}">
|
||||
</vn-label-value>
|
||||
</vn-item-section>
|
||||
<vn-item-section side>
|
||||
<vn-icon-button
|
||||
vn-click-stop="$ctrl.preview(user)"
|
||||
vn-tooltip="Preview"
|
||||
icon="preview">
|
||||
</vn-icon-button>
|
||||
</vn-item-section>
|
||||
</a>
|
||||
</div>
|
||||
</vn-card>
|
||||
</vn-data-viewer>
|
||||
<vn-popup vn-id="summary">
|
||||
|
|
|
@ -6,26 +6,26 @@
|
|||
model="model"
|
||||
class="vn-w-sm">
|
||||
<vn-card>
|
||||
<div class="vn-list separated">
|
||||
<a
|
||||
ng-repeat="role in model.data track by role.id"
|
||||
ui-sref="account.role.card.summary(::{id: role.id})"
|
||||
ui-sref-opts="{inherit: false}"
|
||||
translate-attr="{title: 'View role'}"
|
||||
class="vn-item search-result">
|
||||
<vn-item-section>
|
||||
<h6>{{::role.name}}</h6>
|
||||
<div>{{::role.description}}</div>
|
||||
</vn-item-section>
|
||||
<vn-item-section side>
|
||||
<vn-icon-button
|
||||
vn-click-stop="$ctrl.preview(role)"
|
||||
vn-tooltip="Preview"
|
||||
icon="preview">
|
||||
</vn-icon-button>
|
||||
</vn-item-section>
|
||||
</a>
|
||||
</div>
|
||||
<div class="vn-list separated">
|
||||
<a
|
||||
ng-repeat="role in model.data track by role.id"
|
||||
ui-sref="account.role.card.summary(::{id: role.id})"
|
||||
ui-sref-opts="{inherit: false}"
|
||||
translate-attr="{title: 'View role'}"
|
||||
class="vn-item search-result">
|
||||
<vn-item-section>
|
||||
<h6>{{::role.name}}</h6>
|
||||
<div>{{::role.description}}</div>
|
||||
</vn-item-section>
|
||||
<vn-item-section side>
|
||||
<vn-icon-button
|
||||
vn-click-stop="$ctrl.preview(role)"
|
||||
vn-tooltip="Preview"
|
||||
icon="preview">
|
||||
</vn-icon-button>
|
||||
</vn-item-section>
|
||||
</a>
|
||||
</div>
|
||||
</vn-card>
|
||||
</vn-data-viewer>
|
||||
<vn-popup vn-id="summary">
|
||||
|
@ -35,7 +35,7 @@
|
|||
ui-sref-opts="{inherit: false}"
|
||||
vn-tooltip="New role"
|
||||
vn-bind="+"
|
||||
vn-acl="developer"
|
||||
vn-acl="it"
|
||||
vn-acl-action="remove"
|
||||
fixed-bottom-right>
|
||||
<vn-float-button icon="add"></vn-float-button>
|
||||
|
|
|
@ -97,7 +97,7 @@
|
|||
"state": "account.card.aliases",
|
||||
"component": "vn-user-aliases",
|
||||
"description": "Mail aliases",
|
||||
"acl": ["marketing"]
|
||||
"acl": ["marketing", "hr"]
|
||||
},
|
||||
{
|
||||
"url": "/role?q",
|
||||
|
@ -110,7 +110,8 @@
|
|||
"url": "/create",
|
||||
"state": "account.role.create",
|
||||
"component": "vn-role-create",
|
||||
"description": "New role"
|
||||
"description": "New role",
|
||||
"acl": ["it"]
|
||||
},
|
||||
{
|
||||
"url": "/:id",
|
||||
|
@ -126,30 +127,32 @@
|
|||
"description": "Summary",
|
||||
"params": {
|
||||
"role": "$ctrl.role"
|
||||
}
|
||||
},
|
||||
"acl": ["it"]
|
||||
},
|
||||
{
|
||||
"url": "/basic-data",
|
||||
"state": "account.role.card.basicData",
|
||||
"component": "vn-role-basic-data",
|
||||
"description": "Basic data",
|
||||
"acl": ["developer"],
|
||||
"params": {
|
||||
"role": "$ctrl.role"
|
||||
}
|
||||
},
|
||||
"acl": ["it"]
|
||||
},
|
||||
{
|
||||
"url": "/subroles",
|
||||
"state": "account.role.card.subroles",
|
||||
"component": "vn-role-subroles",
|
||||
"acl": ["developer"],
|
||||
"description": "Subroles"
|
||||
"description": "Subroles",
|
||||
"acl": ["it"]
|
||||
},
|
||||
{
|
||||
"url": "/inherited",
|
||||
"state": "account.role.card.inherited",
|
||||
"component": "vn-role-inherited",
|
||||
"description": "Inherited roles"
|
||||
"description": "Inherited roles",
|
||||
"acl": ["it"]
|
||||
},
|
||||
{
|
||||
"url": "/alias?q",
|
||||
|
|
Loading…
Reference in New Issue