test(e2e): test authorizations (#4342)

* add specs that cover the b2b demo

* update cypress

* test handling manager roles

* use shared mocha contexts

* use beforeEach instead of before

* improve readability

* improve application test

* remove static waits

* remove old awaitDesired

* test owned project authorizations

* simplify ensure.ts

* test granted projects authz

* disable prevSubject for shouldNotExist

* await non-existence, then expect no error

* update dependencies

* fix tests from scratch

* fix settings tests from scratch

* Apply suggestions from code review

Co-authored-by: Max Peintner <[email protected]>

* Implement code review suggestions

* use spread operator

* settings properties must match

* add check settings object

* revert spread operator

Co-authored-by: Max Peintner <[email protected]>
This commit is contained in:
Elio Bischof
2022-10-11 15:29:23 +02:00
committed by GitHub
co-authored by Max Peintner
parent 6daf44a34a
commit 51febd7e4e
35 changed files with 883 additions and 545 deletions
@@ -44,7 +44,7 @@
>
<div class="role-cb-content">
<div class="cnsl-chip-dot" [style.background]="getColor(role)"></div>
<span>{{ role | roletransform }}</span>
<span data-e2e="role-checkbox">{{ role | roletransform }}</span>
<i class="info-hover las la-question-circle" matTooltip="{{ 'MEMBERROLES.' + role | translate }}"></i>
</div>
</mat-checkbox>
@@ -61,6 +61,7 @@
mat-raised-button
class="ok-button"
(click)="closeDialogWithSuccess()"
data-e2e="confirm-add-member-button"
>
{{ 'ACTIONS.ADD' | translate }}
</button>
@@ -10,6 +10,7 @@
class="contributor-avatar-circle"
matTooltip="{{ member.displayName }} | {{ member.rolesList | roletransform }}"
[ngStyle]="{ 'z-index': 20 - i }"
data-e2e="member-avatar"
>
<cnsl-avatar
*ngIf="member && member.displayName && member.firstName && member.lastName; else cog"
@@ -40,6 +41,7 @@
[disabled]="disabled"
mat-icon-button
aria-label="Add member"
data-e2e="add-member-button"
>
<mat-icon>add</mat-icon>
</button>
@@ -41,6 +41,7 @@
cnslCopyToClipboard
[valueToCopy]="login"
(copiedValue)="copied = $event"
data-e2e="copy-loginname"
>
{{ login }}
</button>
@@ -93,6 +93,7 @@
(click)="$event.stopPropagation(); triggerDeleteMember(member)"
mat-icon-button
[disabled]="canDelete === false"
data-e2e="remove-member-button"
>
<i class="las la-trash"></i>
</button>
@@ -114,10 +115,11 @@
[removable]="canWrite"
[selectable]="false"
(removed)="removeRole(member, role)"
data-e2e="role"
>
<div class="cnsl-chip-dot" [style.background]="getColor(role)"></div>
<span>{{ role | roletransform }}</span>
<button *ngIf="canWrite" matChipRemove>
<button *ngIf="canWrite" matChipRemove data-e2e="remove-role-button">
<mat-icon>cancel</mat-icon>
</button>
</mat-chip>
@@ -65,6 +65,7 @@
[formControl]="myControl"
placeholder="[email protected]"
[matAutocomplete]="auto"
data-e2e="add-member-input"
/>
<mat-autocomplete #auto="matAutocomplete" (optionSelected)="selected($event)" [displayWith]="displayFn">
@@ -72,7 +73,7 @@
<mat-spinner diameter="30"></mat-spinner>
</mat-option>
<mat-option *ngFor="let user of filteredUsers" [value]="user">
<div class="user-option">
<div class="user-option" data-e2e="user-option">
<div class="circle">
<cnsl-avatar
*ngIf="
@@ -35,6 +35,7 @@
"
class="sidenav-setting-list-element hide-on-mobile"
[ngClass]="{ active: currentSetting === setting.id, show: currentSetting === undefined }"
[attr.data-e2e]="'sidenav-element-' + setting.id"
>
<span>{{ setting.i18nKey | translate }}</span>
<mat-icon *ngIf="setting.showWarn" class="warn-icon" svgIcon="mdi_shield_alert"></mat-icon>