<?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="testSetPartyStatusToDisabled" short-description="Test case for changing party status to PARTY_DISABLED." login-required="false">
        <now-timestamp field="nowTimestamp"/>
        <set field="serviceCtx.locale" value="en"/>
        <set field="serviceCtx.partyId" value="PARTY_ENABLED"/>
        <set field="serviceCtx.statusId" value="PARTY_DISABLED"/>
        <set field="serviceCtx.statusDate" from-field="nowTimestamp"/>      
        <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="setPartyStatus" in-map-name="serviceCtx">
            <results-to-map map-name="results"/>
        </call-service>      
        <entity-one entity-name="Party" value-field="party">
            <field-map field-name="partyId" value="PARTY_ENABLED"/>
        </entity-one>
        <assert>
            <not><if-empty field="results"/></not>
            <if-compare field="party.statusId" operator="equals" value="PARTY_DISABLED"/>
            <if-compare field="results.oldStatusId" operator="equals" value="PARTY_ENABLED"/>             
        </assert>
        <check-errors/> 
    </simple-method>      
    
    <simple-method method-name="testSetPartyStatusToEnabled" short-description="Test case for changing party status to PARTY_DISABLED." login-required="false">
        <now-timestamp field="nowTimestamp"/>
        <set field="serviceCtx.locale" value="en"/>
        <set field="serviceCtx.partyId" value="PARTY_DISABLED"/>
        <set field="serviceCtx.statusId" value="PARTY_ENABLED"/>
        <set field="serviceCtx.statusDate" from-field="nowTimestamp"/>      
        <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="setPartyStatus" in-map-name="serviceCtx">
            <results-to-map map-name="results"/>
        </call-service>
        <entity-one entity-name="Party" value-field="party">
            <field-map field-name="partyId" value="PARTY_DISABLED"/>
        </entity-one>
        <assert>
            <not><if-empty field="results"/></not>        
            <if-compare field="party.statusId" operator="equals" value="PARTY_ENABLED"/>
            <if-compare field="results.oldStatusId" operator="equals" value="PARTY_DISABLED"/>             
        </assert>
        <check-errors/> 
    </simple-method>

</simple-methods>