|
Author: lektran
Date: Sat Dec 12 10:51:17 2009 New Revision: 889922 URL: http://svn.apache.org/viewvc?rev=889922&view=rev Log: A few tests for the createQuoteWorkEffort service Added: ofbiz/trunk/applications/order/script/org/ofbiz/order/test/ ofbiz/trunk/applications/order/script/org/ofbiz/order/test/QuoteTests.xml (with props) ofbiz/trunk/applications/order/testdef/data/ ofbiz/trunk/applications/order/testdef/data/QuoteTestData.xml (with props) ofbiz/trunk/applications/order/testdef/quotetests.xml (with props) Modified: ofbiz/trunk/applications/order/ofbiz-component.xml Modified: ofbiz/trunk/applications/order/ofbiz-component.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/ofbiz-component.xml?rev=889922&r1=889921&r2=889922&view=diff ============================================================================== --- ofbiz/trunk/applications/order/ofbiz-component.xml (original) +++ ofbiz/trunk/applications/order/ofbiz-component.xml Sat Dec 12 10:51:17 2009 @@ -48,6 +48,7 @@ <service-resource type="eca" loader="main" location="servicedef/secas.xml"/> <test-suite loader="main" location="testdef/OrderTest.xml"/> + <test-suite loader="main" location="testdef/quotetests.xml"/> <webapp name="order" title="Order" Added: ofbiz/trunk/applications/order/script/org/ofbiz/order/test/QuoteTests.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/script/org/ofbiz/order/test/QuoteTests.xml?rev=889922&view=auto ============================================================================== --- ofbiz/trunk/applications/order/script/org/ofbiz/order/test/QuoteTests.xml (added) +++ ofbiz/trunk/applications/order/script/org/ofbiz/order/test/QuoteTests.xml Sat Dec 12 10:51:17 2009 @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd"> + + <simple-method method-name="testCreateQuoteWorkEffort" short-description="Test case for successfully creating a QuoteWorkEffort record." login-required="false"> + <entity-one entity-name="UserLogin" value-field="serviceCtx.userLogin"> + <field-map field-name="userLoginId" value="DemoRepStore"/> + </entity-one> + <set field="serviceCtx.quoteId" value="9000"/> + <set field="serviceCtx.workEffortId" value="9007"/> + + <!-- Execute the service --> + <call-service service-name="createQuoteWorkEffort" in-map-name="serviceCtx"> + <results-to-map map-name="serviceResult"/> + </call-service> + + <!-- Confirm the service output parameters --> + <assert> + <if-compare-field field="serviceResult.quoteId" operator="equals" to-field="serviceCtx.quoteId"/> + <if-compare-field field="serviceResult.workEffortId" operator="equals" to-field="serviceCtx.workEffortId"/> + </assert> + + <!-- Confirm the database changes --> + <entity-one value-field="quoteWorkEffort" entity-name="QuoteWorkEffort"> + <field-map field-name="quoteId" from-field="serviceCtx.quoteId"/> + <field-map field-name="workEffortId" from-field="serviceCtx.workEffortId"/> + </entity-one> + <assert><not><if-empty field="quoteWorkEffort"/></not></assert> + </simple-method> + + <simple-method method-name="testCreateQuoteWorkEffortFail" + short-description="Test case for unsuccessfully creating a QuoteWorkEffort record by attempting to use a quoteId and workEffortId that has already been used in an existing QuoteWorkEffortRecord." login-required="false"> + + <!-- Use to confirm nothing has changed at the end of the test --> + <set field="startTime" value="${date:nowTimestamp()}" type="Timestamp"/> + + <entity-one entity-name="UserLogin" value-field="serviceCtx.userLogin"> + <field-map field-name="userLoginId" value="DemoRepStore"/> + </entity-one> + + <set field="serviceCtx.quoteId" value="9000"/> + <set field="serviceCtx.workEffortId" value="9007"/> + + <!-- Execute the service, note break-on-error is false so that the test itself doesn't + fail and we also need a separate transaction so our lookup below doesn't fail due to the rollback --> + <call-service service-name="createQuoteWorkEffort" in-map-name="serviceCtx" + break-on-error="false" require-new-transaction="true"> + <results-to-map map-name="serviceResult"/> + </call-service> + <!-- Clear these because break-on-error="false" doesn't seem to work as it should at the moment --> + <clear-field field="responseMessage"/> + <clear-field field="errorMessageList"/> + + <!-- Confirm the service output parameters, in this case the presence of an error response --> + <assert><if-compare field="serviceResult.responseMessage" operator="equals" value="error"/></assert> + + <!-- Confirm the database changes, in this case nothing should have changed --> + <entity-condition list="quoteWorkEfforts" entity-name="QuoteWorkEffort"> + <condition-list> + <condition-expr field-name="lastUpdatedStamp" operator="greater-equals" from-field="startTime"/> + <condition-expr field-name="quoteId" from-field="serviceCtx.quoteId"/> + <condition-expr field-name="workEffortId" from-field="serviceCtx.workEffortId"/> + </condition-list> + </entity-condition> + <!-- Should be empty --> + <assert><if-empty field="quoteWorkEffort"/></assert> + </simple-method> + + <simple-method method-name="testCreateWorkEffortAndQuoteWorkEffort" login-required="false" + short-description="Test case for calling createQuoteWorkEffort without a workEffortId which triggers an ECA to create the WorkEffort first"> + <entity-one entity-name="UserLogin" value-field="serviceCtx.userLogin"> + <field-map field-name="userLoginId" value="flexadmin"/> + </entity-one> + <!-- Use the bare minimum inputs necessary to create the work effort as we aren't testing that service, only that it plays well as an ECA --> + <set field="serviceCtx.currentStatusId" value="ROU_ACTIVE"/> + <set field="serviceCtx.workEffortName" value="Test WorkEffort"/> + <set field="serviceCtx.workEffortTypeId" value="ROUTING"/> + <set field="serviceCtx.quoteId" value="9000"/> + + <call-service service-name="createQuoteWorkEffort" in-map-name="serviceCtx"> + <results-to-map map-name="serviceResult"/> + </call-service> + + <assert> + <and> + <if-compare-field field="serviceResult.quoteId" operator="equals" to-field="serviceCtx.quoteId"/> + <not><if-empty field="serviceResult.workEffortId"/></not> + </and> + </assert> + + <!-- Confirm that a matching WorkEffort was created --> + <entity-and list="workEfforts" entity-name="WorkEffort"> + <field-map field-name="workEffortId" from-field="serviceResult.workEffortId"/> + <field-map field-name="currentStatusId" from-field="serviceCtx.currentStatusId"/> + <field-map field-name="workEffortName" from-field="serviceCtx.workEffortName"/> + <field-map field-name="workEffortTypeId" from-field="serviceCtx.workEffortTypeId"/> + </entity-and> + <assert> + <not><if-empty field="workEfforts"/></not> + </assert> + + <entity-one value-field="quoteWorkEffort" entity-name="QuoteWorkEffort"> + <field-map field-name="quoteId" from-field="serviceCtx.quoteId"/> + <field-map field-name="workEffortId" from-field="serviceResult.workEffortId"/> + </entity-one> + </simple-method> +</simple-methods> Propchange: ofbiz/trunk/applications/order/script/org/ofbiz/order/test/QuoteTests.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/order/script/org/ofbiz/order/test/QuoteTests.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/applications/order/script/org/ofbiz/order/test/QuoteTests.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: ofbiz/trunk/applications/order/testdef/data/QuoteTestData.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/testdef/data/QuoteTestData.xml?rev=889922&view=auto ============================================================================== --- ofbiz/trunk/applications/order/testdef/data/QuoteTestData.xml (added) +++ ofbiz/trunk/applications/order/testdef/data/QuoteTestData.xml Sat Dec 12 10:51:17 2009 @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<entity-engine-xml> + <Quote quoteId="9000" quoteTypeId="PRODUCT_QUOTE" partyId="DemoCustomer" issueDate="2009-12-11 12:00:00.000" statusId="QUO_CREATED" currencyUomId="USD" productStoreId="9000" salesChannelEnumId="EMAIL_SALES_CHANNEL" validFromDate="2009-12-11 12:00:00.000" quoteName="Most competitive quote ever"/> + <WorkEffort workEffortId="9007" workEffortTypeId="TASK" currentStatusId="PTS_CREATED" workEffortName="Quote WorkEffort"/> +</entity-engine-xml> \ No newline at end of file Propchange: ofbiz/trunk/applications/order/testdef/data/QuoteTestData.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/order/testdef/data/QuoteTestData.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/applications/order/testdef/data/QuoteTestData.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: ofbiz/trunk/applications/order/testdef/quotetests.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/testdef/quotetests.xml?rev=889922&view=auto ============================================================================== --- ofbiz/trunk/applications/order/testdef/quotetests.xml (added) +++ ofbiz/trunk/applications/order/testdef/quotetests.xml Sat Dec 12 10:51:17 2009 @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<test-suite suite-name="quotetests" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/test-suite.xsd"> + + <test-case case-name="loadQuoteTestData"> + <entity-xml action="load" entity-xml-url="component://order/testdef/data/QuoteTestData.xml"/> + </test-case> + + <test-case case-name="testCreateQuoteWorkEffort"> + <simple-method-test location="component://order/script/org/ofbiz/order/test/QuoteTests.xml" name="testCreateQuoteWorkEffort"/> + </test-case> + + <test-case case-name="testCreateQuoteWorkEffortFail"> + <simple-method-test location="component://order/script/org/ofbiz/order/test/QuoteTests.xml" name="testCreateQuoteWorkEffortFail"/> + </test-case> + + <test-case case-name="testCreateWorkEffortAndQuoteWorkEffort"> + <simple-method-test location="component://order/script/org/ofbiz/order/test/QuoteTests.xml" name="testCreateWorkEffortAndQuoteWorkEffort"/> + </test-case> +</test-suite> \ No newline at end of file Propchange: ofbiz/trunk/applications/order/testdef/quotetests.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/order/testdef/quotetests.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/applications/order/testdef/quotetests.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml |
| Free forum by Nabble | Edit this page |
