@@ -3,10 +3,8 @@ import { BillingEntityPermissions } from '../../src/app/types/billing-entity';
33import { ClusterRoleBinding , ClusterRoleBindingPermissions } from '../../src/app/types/clusterrole-binding' ;
44import { billingEntityNxt } from '../fixtures/billingentities' ;
55import { createClusterRoleBinding } from '../fixtures/clusterrole-binding' ;
6- import { createClusterRole } from '../fixtures/clusterrole' ;
7- import { ClusterRolePermissions } from '../../src/app/types/clusterRole' ;
86
9- describe ( 'billing entity edit members with existing roles ' , ( ) => {
7+ describe ( 'billing entity edit members' , ( ) => {
108 beforeEach ( ( ) => {
119 cy . setupAuth ( ) ;
1210 window . localStorage . setItem ( 'hideFirstTimeLoginDialog' , 'true' ) ;
@@ -20,17 +18,9 @@ describe('billing entity edit members with existing roles', () => {
2018 cy . setPermission (
2119 { verb : 'list' , ...BillingEntityPermissions } ,
2220 { verb : 'get' , ...BillingEntityPermissions , name : 'be-2345' } ,
23- { verb : 'get' , ...ClusterRoleBindingPermissions , name : 'billingentities-be-2345-viewer' } ,
24- { verb : 'get' , ...ClusterRoleBindingPermissions , name : 'billingentities-be-2345-admin' } ,
2521 { verb : 'update' , ...ClusterRoleBindingPermissions , name : 'billingentities-be-2345-viewer' } ,
2622 { verb : 'update' , ...ClusterRoleBindingPermissions , name : 'billingentities-be-2345-admin' }
2723 ) ;
28- cy . intercept ( 'GET' , 'appuio-api/apis/rbac.authorization.k8s.io/v1/clusterroles/billingentities-be-2345-admin' , {
29- body : createClusterRole ( 'be-2345' , true ) ,
30- } ) ;
31- cy . intercept ( 'GET' , 'appuio-api/apis/rbac.authorization.k8s.io/v1/clusterroles/billingentities-be-2345-viewer' , {
32- body : createClusterRole ( 'be-2345' , false ) ,
33- } ) ;
3424 } ) ;
3525
3626 it ( 'add member' , ( ) => {
@@ -290,90 +280,3 @@ describe('billing entity edit members with existing roles', () => {
290280 cy . get ( 'p-message' ) . contains ( 'You are about to remove yourself as admin!' ) ;
291281 } ) ;
292282} ) ;
293-
294- describe ( 'billing entity edit members without initial roles' , ( ) => {
295- beforeEach ( ( ) => {
296- cy . setupAuth ( ) ;
297- window . localStorage . setItem ( 'hideFirstTimeLoginDialog' , 'true' ) ;
298- cy . disableCookieBanner ( ) ;
299- } ) ;
300- beforeEach ( ( ) => {
301- // needed for initial getUser request
302- cy . intercept ( 'GET' , 'appuio-api/apis/appuio.io/v1/users/mig' , {
303- body : createUser ( { username : 'mig' , defaultOrganizationRef : 'nxt' } ) ,
304- } ) ;
305- cy . setPermission (
306- { verb : 'list' , ...BillingEntityPermissions } ,
307- { verb : 'get' , ...BillingEntityPermissions , name : 'be-2345' } ,
308- { verb : 'get' , ...ClusterRoleBindingPermissions , name : 'billingentities-be-2345-viewer' } ,
309- { verb : 'update' , ...ClusterRoleBindingPermissions , name : 'billingentities-be-2345-admin' } ,
310- { verb : 'update' , ...ClusterRoleBindingPermissions , name : 'billingentities-be-2345-viewer' } ,
311- { verb : 'update' , ...ClusterRolePermissions , name : 'billingentities-be-2345-admin' }
312- ) ;
313- cy . intercept ( 'GET' , 'appuio-api/apis/rbac.authorization.k8s.io/v1/clusterroles/billingentities-be-2345-admin' , {
314- statusCode : 404 ,
315- } ) ;
316- cy . intercept ( 'GET' , 'appuio-api/apis/rbac.authorization.k8s.io/v1/clusterroles/billingentities-be-2345-viewer' , {
317- statusCode : 404 ,
318- } ) ;
319- cy . intercept (
320- 'GET' ,
321- 'appuio-api/apis/rbac.authorization.k8s.io/v1/clusterrolebindings/billingentities-be-2345-viewer' ,
322- {
323- statusCode : 404 ,
324- }
325- ) ;
326- cy . intercept (
327- 'GET' ,
328- 'appuio-api/apis/rbac.authorization.k8s.io/v1/clusterrolebindings/billingentities-be-2345-admin' ,
329- {
330- statusCode : 404 ,
331- }
332- ) ;
333- } ) ;
334-
335- it ( 'add member' , ( ) => {
336- cy . intercept ( 'GET' , 'appuio-api/apis/billing.appuio.io/v1/billingentities/be-2345' , {
337- body : billingEntityNxt ,
338- } ) ;
339- cy . intercept ( 'POST' , 'appuio-api/apis/rbac.authorization.k8s.io/v1/clusterroles' , ( req ) => {
340- if ( req . body . metadata . name . includes ( 'admin' ) ) {
341- expect ( req . body . rules ) . to . have . length ( 2 ) ;
342- const rule = req . body . rules && req . body . rules [ 0 ] ;
343- expect ( rule && rule . resourceNames ) . to . include ( 'billingentities-be-2345-admin' ) ;
344- expect ( rule && rule . verbs ) . to . eql ( [ '*' ] ) ;
345-
346- req . reply ( createClusterRole ( 'be-2345' , true ) ) ;
347- return ;
348- }
349- if ( req . body . metadata . name . includes ( 'viewer' ) ) {
350- const rule = req . body . rules && req . body . rules [ 0 ] ;
351- expect ( rule && rule . resourceNames ) . to . include ( 'billingentities-be-2345-viewer' ) ;
352- expect ( rule && rule . verbs ) . to . eql ( [ 'get' , 'watch' ] ) ;
353-
354- req . reply ( createClusterRole ( 'be-2345' , false ) ) ;
355- return ;
356- }
357- } ) . as ( 'createRole' ) ;
358-
359- cy . intercept ( 'POST' , 'appuio-api/apis/rbac.authorization.k8s.io/v1/clusterrolebindings' , ( req ) => {
360- expect ( req . body . subjects ) . to . have . length ( 1 ) ;
361- const subject = req . body . subjects && req . body . subjects [ 0 ] ;
362- expect ( subject && subject . name ) . to . eq ( 'appuio#crc' ) ;
363-
364- if ( req . body . metadata . name . includes ( 'admin' ) ) {
365- req . reply ( createClusterRoleBinding ( { name : 'billingentities-be-2345-admin' , users : [ 'appuio#crc' ] } ) ) ;
366- }
367- if ( req . body . metadata . name . includes ( 'viewer' ) ) {
368- req . reply ( createClusterRoleBinding ( { name : 'billingentities-be-2345-viewer' , users : [ 'appuio#crc' ] } ) ) ;
369- }
370- } ) . as ( 'createRoleBinding' ) ;
371-
372- cy . visit ( '/billingentities/be-2345/members' ) ;
373- cy . get ( '.text-3xl' ) . should ( 'contain.text' , 'be-2345 Members' ) ;
374- cy . get ( '[data-cy="name-input-0"]' ) . type ( 'crc' ) ;
375- cy . get ( 'p-multiselect' ) . eq ( 0 ) . click ( ) . contains ( 'billingentities-be-2345-admin' ) . click ( ) ;
376- cy . get ( 'button[type=submit]' ) . click ( ) ;
377- cy . wait ( [ '@createRole' , '@createRoleBinding' ] ) ;
378- } ) ;
379- } ) ;
0 commit comments