UNPKG

qe-fe-automation

Version:
88 lines (82 loc) 2.53 kB
import { ICreateCompany } from '../interface/company'; import { IOrganization } from '../interface/organization'; import { HttpRequest, HttpStatusCodes, Accept } from '../utilities/api'; import { LegalData } from './data/legal'; const DEFAULT_STAGING_PRIME_AGENCY_COMPANY_ASSOCIATION_UUID = '61579ca9-3d77-45bf-b05c-f4eefc202153'; /** * Create company legal entity * @param authToken * @returns {IOrganization} Information */ export function createLegalEntity(authToken: string): Cypress.Chainable<IOrganization> { const legalEntitiesData = LegalData.generateLegalEntitiesData(); return cy .request({ method: HttpRequest.Post, url: 'api/admin/billable_entities', headers: { Authorization: authToken, Accept: Accept.ApplicationJson }, retryOnStatusCodeFailure: true, body: legalEntitiesData }) .then(({ body, status }) => { expect(status, 'Successfully created legal entity').to.equal(HttpStatusCodes.Ok); return cy .request({ method: HttpRequest.Patch, url: 'api/admin/company', headers: { Authorization: authToken, Accept: Accept.ApplicationJson }, retryOnStatusCodeFailure: true, body: { defaultBillableEntityUuid: null } }) .then(({ status }) => { expect(status, 'Successfully updated default billable entity').to.equal( HttpStatusCodes.Ok ); return body; }); }); } /** * Add office to given legal entity * @param authToken * @param billableEntityUuid * @param defaultOffice * @param agencyCompanyAssociationUuid * @returns {ICreateCompany} Information */ export function addOffice( authToken: string, billableEntityUuid: string, defaultOffice = true, agencyCompanyAssociationUuid = DEFAULT_STAGING_PRIME_AGENCY_COMPANY_ASSOCIATION_UUID ): Cypress.Chainable<ICreateCompany> { const officeData = LegalData.generateOfficeData( billableEntityUuid, defaultOffice, agencyCompanyAssociationUuid ); return cy .request({ method: HttpRequest.Post, url: 'api/admin/company/offices', headers: { Authorization: authToken, Accept: Accept.ApplicationJson }, retryOnStatusCodeFailure: true, body: officeData }) .then(({ body, status }) => { expect(status, 'Successfully added office to given legal entity').to.equal( HttpStatusCodes.Ok ); return body; }); }