@@ -10,6 +10,8 @@ import { OrganizationPermissions } from '../../src/app/types/organization';
1010import { BillingEntityPermissions } from '../../src/app/types/billing-entity' ;
1111import { billingEntityNxt , billingEntityVshn , setBillingEntities } from '../fixtures/billingentities' ;
1212import { OrganizationMembersPermissions } from '../../src/app/types/organization-members' ;
13+ import { ZonePermissions } from '../../src/app/types/zone' ;
14+ import { zoneCloudscale1 } from '../fixtures/zone' ;
1315
1416describe ( 'Test organization list' , ( ) => {
1517 beforeEach ( ( ) => {
@@ -268,6 +270,36 @@ describe('Test organization add', () => {
268270 cy . get ( ':nth-child(3) > .flex-row [title="Edit members"]' ) . should ( 'exist' ) ;
269271 } ) ;
270272
273+ it ( 'add organization for first-time' , ( ) => {
274+ cy . setPermission (
275+ { verb : 'list' , ...OrganizationPermissions } ,
276+ { verb : 'create' , ...OrganizationPermissions } ,
277+ { verb : 'list' , ...BillingEntityPermissions } ,
278+ { verb : 'list' , ...ZonePermissions } ,
279+ { verb : 'update' , ...OrganizationPermissions , namespace : organizationVshn . metadata . name } ,
280+ { verb : 'list' , ...OrganizationMembersPermissions , namespace : organizationVshn . metadata . name }
281+ ) ;
282+
283+ setOrganization ( cy , organizationNxt ) ;
284+ setBillingEntities ( cy , billingEntityNxt ) ;
285+ cy . intercept ( 'GET' , 'appuio-api/apis/appuio.io/v1/zones' , {
286+ body : { items : [ zoneCloudscale1 ] } ,
287+ } ) ;
288+
289+ cy . intercept ( 'POST' , 'appuio-api/apis/organization.appuio.io/v1/organizations' , {
290+ body : organizationVshn ,
291+ } ) . as ( 'add' ) ;
292+ cy . visit ( '/organizations/$new?firstTime=y' ) ;
293+ cy . get ( '#title' ) . should ( 'contain.text' , 'New Organization' ) ;
294+
295+ cy . get ( '#id' ) . type ( 'nxt' ) ;
296+ cy . get ( '#selectedBillingEntity' ) . click ( ) . contains ( 'Engineering' ) . click ( ) ;
297+ cy . get ( 'button[type=submit]' ) . click ( ) ;
298+ cy . wait ( '@add' ) ;
299+ cy . url ( ) . should ( 'contain' , '/zones' ) ;
300+ cy . get ( '#zones-title' ) . should ( 'contain.text' , 'Zones' ) ;
301+ } ) ;
302+
271303 it ( 'add organization with invalid id' , ( ) => {
272304 cy . setPermission (
273305 { verb : 'list' , ...OrganizationPermissions } ,
0 commit comments