<?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"
        xmlns="http://ofbiz.apache.org/Simple-Method" xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method http://ofbiz.apache.org/dtds/simple-methods.xsd">
    <simple-method method-name="testUpdateProductAverageCostOnReceiveInventory" short-description="Test case for service updateProductAverageCostOnReceiveInventory" login-required="false">
        <set field="serviceCtx.facilityId" value="DemoFacility1"/>
        <set field="serviceCtx.quantityAccepted" value="10" type="BigDecimal"/>
        <set field="serviceCtx.productId" value="TestProduct3"/>
        <set field="serviceCtx.inventoryItemId" value="9999"/>
        <entity-one entity-name="UserLogin" value-field="userLogin">
            <field-map field-name="userLoginId" value="system"/>
        </entity-one>
        <set field="serviceCtx.userLogin" from-field="userLogin"/>
        <call-service service-name="updateProductAverageCostOnReceiveInventory" in-map-name="serviceCtx"/>
 
        <entity-and entity-name="ProductAverageCost" list="productAverageCostList" filter-by-date="true">
            <field-map field-name="productId" value="TestProduct3"/>
            <field-map field-name="facilityId" value="DemoFacility1"/>
            <field-map field-name="organizationPartyId" value="DEMO_COMPANY2"/>
        </entity-and>
        <first-from-list entry="productAverageCost" list="productAverageCostList"/>
        <assert>
            <not><if-empty field="productAverageCost"/></not>
            <if-compare operator="equals" value="SIMPLE_AVG_COST" field="productAverageCost.productAverageCostTypeId"></if-compare>
            <if-compare operator="equals" value="9" field="productAverageCost.averageCost"></if-compare>
        </assert>
        <check-errors/>
    </simple-method>
    <simple-method method-name="testGetProductAverageCost" short-description="Test case for service getProductAverageCost" login-required="false">
        <entity-one entity-name="InventoryItem" value-field="inventoryItem">
            <field-map field-name="inventoryItemId" value="9999"/>
        </entity-one>
        <set field="serviceCtx.inventoryItem" from-field="inventoryItem"/>
        <entity-one entity-name="UserLogin" value-field="userLogin">
            <field-map field-name="userLoginId" value="system"/>
        </entity-one>
        <set field="serviceCtx.userLogin" from-field="userLogin"/>
        <call-service service-name="getProductAverageCost" in-map-name="serviceCtx">
            <results-to-map map-name="productAverageCost"/>
        </call-service>
        <assert>
            <not><if-empty field="productAverageCost"/></not>
            <if-compare operator="equals" value="9" field="productAverageCost.unitCost"></if-compare>
        </assert>
        <check-errors/>
    </simple-method>

</simple-methods>