From 1d4a505c54b79a8e2ed7a459ca60a8b97d29e7d6 Mon Sep 17 00:00:00 2001 From: David E Jones Date: Sun, 20 Oct 2013 17:43:29 -0700 Subject: [PATCH] Added worker, rate, etc; made independent from HiveMind (can now run with or without it in place --- .../test/groovy/WorkProjectBasicFlow.groovy | 143 +++++++++++------- 1 file changed, 89 insertions(+), 54 deletions(-) diff --git a/mantle-usl/src/test/groovy/WorkProjectBasicFlow.groovy b/mantle-usl/src/test/groovy/WorkProjectBasicFlow.groovy index 442d0c5e..a4a06ee9 100644 --- a/mantle-usl/src/test/groovy/WorkProjectBasicFlow.groovy +++ b/mantle-usl/src/test/groovy/WorkProjectBasicFlow.groovy @@ -18,14 +18,14 @@ import org.moqui.Moqui import org.slf4j.LoggerFactory import org.slf4j.Logger -/* To run these make sure moqui, mantle, and HiveMind are in place and run: "gradle cleanAll load runtime/mantle/mantle-usl:test" */ +/* To run these make sure moqui, and mantle are in place and run: "gradle cleanAll load runtime/mantle/mantle-usl:test" */ class WorkProjectBasicFlow extends Specification { @Shared protected final static Logger logger = LoggerFactory.getLogger(WorkProjectBasicFlow.class) @Shared ExecutionContext ec @Shared - Map vendorResult, clientResult, expInvResult, clientInvResult + Map vendorResult, workerResult, clientRateResult, vendorRateResult, clientResult, expInvResult, clientInvResult def setupSpec() { // init the framework, get the ec @@ -47,9 +47,6 @@ class WorkProjectBasicFlow extends Specification { ec.artifactExecution.enableAuthz() } - // TODO: create Client, Vendor (internal org with default Acctg settings), Worker, RateAmounts, etc then use those in tests below - // why? because this uses data in HiveMindDemoData.xml and will blow up if HiveMind is not in place... - def "create Vendor"() { when: vendorResult = ec.service.sync().name("mantle.party.PartyServices.create#Organization") @@ -68,10 +65,27 @@ class WorkProjectBasicFlow extends Specification { Map vendorRepResult = ec.service.sync().name("mantle.party.PartyServices.create#Account") .parameters([firstName:'Vendor', lastName:'TestRep', emailAddress:'vendor.rep@test.com', username:'vendor.rep', newPassword:'moqui1!', newPasswordVerify:'moqui1!', loginAfterCreate:'false']).call() - ec.service.sync().name("create#mantle.party.PartyRelationship") + Map repRelResult = ec.service.sync().name("create#mantle.party.PartyRelationship") .parameters([relationshipTypeEnumId:'PrtRepresentative', fromPartyId:vendorRepResult.partyId, fromRoleTypeId:'Manager', toPartyId:vendorResult.partyId, toRoleTypeId:'VendorBillFrom', fromDate:ec.user.nowTimestamp]).call() + // worker + workerResult = ec.service.sync().name("mantle.party.PartyServices.create#Account") + .parameters([firstName:'Test', lastName:'Worker', emailAddress:'worker@test.com', + username:'worker', newPassword:'moqui1!', newPasswordVerify:'moqui1!', loginAfterCreate:'false']).call() + Map workerRelResult = ec.service.sync().name("create#mantle.party.PartyRelationship") + .parameters([relationshipTypeEnumId:'PrtAgent', fromPartyId:workerResult.partyId, + fromRoleTypeId:'Worker', toPartyId:vendorResult.partyId, toRoleTypeId:'VendorBillFrom', + fromDate:ec.user.nowTimestamp]).call() + // Rate Amounts + clientRateResult = ec.service.sync().name("create#mantle.humanres.rate.RateAmount") + .parameters([rateTypeEnumId:'RatpStandard', ratePurposeEnumId:'RaprClient', timePeriodUomId:'TF_hr', + emplPositionClassId:'Programmer', fromDate:'2010-02-03 00:00:00', rateAmount:'60.00', + rateCurrencyUomId:'USD', partyId:workerResult.partyId]).call() + vendorRateResult = ec.service.sync().name("create#mantle.humanres.rate.RateAmount") + .parameters([rateTypeEnumId:'RatpStandard', ratePurposeEnumId:'RaprVendor', timePeriodUomId:'TF_hr', + emplPositionClassId:'Programmer', fromDate:'2010-02-03 00:00:00', rateAmount:'40.00', + rateCurrencyUomId:'USD', partyId:workerResult.partyId]).call() // NOTE: this has sequenced IDs so is sensitive to run order! List dataCheckErrors = ec.entity.makeDataLoader().xmlText(""" @@ -128,9 +142,30 @@ class WorkProjectBasicFlow extends Specification { contactMechTypeEnumId="CmtEmailAddress" infoString="vendor.rep@test.com"/> - + + + + + + + + + + + + """).check() logger.info("TEST create Vendor data check results: " + dataCheckErrors) @@ -152,7 +187,7 @@ class WorkProjectBasicFlow extends Specification { Map clientRepResult = ec.service.sync().name("mantle.party.PartyServices.create#Account") .parameters([firstName:'Client', lastName:'TestRep', emailAddress:'client.rep@test.com', username:'client.rep', newPassword:'moqui1!', newPasswordVerify:'moqui1!', loginAfterCreate:'false']).call() - ec.service.sync().name("create#mantle.party.PartyRelationship") + Map repRelResult = ec.service.sync().name("create#mantle.party.PartyRelationship") .parameters([relationshipTypeEnumId:'PrtRepresentative', fromPartyId:clientRepResult.partyId, fromRoleTypeId:'ClientBilling', toPartyId:clientResult.partyId, toRoleTypeId:'CustomerBillTo', fromDate:ec.user.nowTimestamp]).call() @@ -189,9 +224,9 @@ class WorkProjectBasicFlow extends Specification { contactMechTypeEnumId="CmtEmailAddress" infoString="client.rep@test.com"/> - + """).check() logger.info("TEST create Vendor data check results: " + dataCheckErrors) @@ -202,22 +237,22 @@ class WorkProjectBasicFlow extends Specification { def "create TEST Project"() { when: ec.service.sync().name("mantle.work.ProjectServices.create#Project") - .parameters([workEffortId:'TEST', workEffortName:'Test Proj', clientPartyId:'ORG_BLUTH', vendorPartyId:'ORG_BIZI_SERVICES']) + .parameters([workEffortId:'TEST', workEffortName:'Test Proj', clientPartyId:clientResult.partyId, vendorPartyId:vendorResult.partyId]) .call() ec.service.sync().name("mantle.work.ProjectServices.update#Project") .parameters([workEffortId:'TEST', workEffortName:'Test Project', statusId:'WeInProgress']) .call() // assign Joe Developer to TEST project as Programmer (necessary for determining RateAmount, etc) ec.service.sync().name("create#mantle.work.effort.WorkEffortParty") - .parameters([workEffortId:'TEST', partyId:'ORG_BIZI_JD', roleTypeId:'Worker', emplPositionClassId:'Programmer', + .parameters([workEffortId:'TEST', partyId:workerResult.partyId, roleTypeId:'Worker', emplPositionClassId:'Programmer', fromDate:'2013-11-01', statusId:'PRTYASGN_ASSIGNED']).call() List dataCheckErrors = ec.entity.makeDataLoader().xmlText(""" - - - - + + +