blob: f42a401cc4b083f3c77b01979cc3929b81a64514 [file] [log] [blame]
/*
* 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.
*/
package org.apache.ofbiz.accounting.accounting
import org.apache.ofbiz.base.util.UtilDateTime
import org.apache.ofbiz.entity.GenericValue
import org.apache.ofbiz.service.ServiceUtil
import org.apache.ofbiz.service.testtools.OFBizTestCase
import java.sql.Timestamp
class AutoAcctgInvoiceTests extends OFBizTestCase {
AutoAcctgInvoiceTests(String name) {
super(name)
}
void testCreateInvoiceContent() {
Map serviceCtx = [
invoiceId: '1008',
contentId: '1000',
invoiceContentTypeId: 'COMMENTS',
fromDate: UtilDateTime.nowTimestamp(),
userLogin: userLogin
]
Map serviceResult = dispatcher.runSync('createInvoiceContentAndUpdateContent', serviceCtx)
assert ServiceUtil.isSuccess(serviceResult)
GenericValue invoiceContent = from('InvoiceContent')
.where('invoiceId', serviceResult.invoiceId,
'contentId', serviceResult.contentId,
'invoiceContentTypeId', serviceResult.invoiceContentTypeId)
.queryFirst()
assert invoiceContent.contentId == serviceResult.contentId
}
void testCreateSimpleTextContentForInvoice() {
Map serviceCtx = [
invoiceId: '1009',
contentTypeId: 'DOCUMENT',
invoiceContentTypeId: 'COMMENTS',
text: 'Content for invoice # 1009',
fromDate: UtilDateTime.nowTimestamp(),
userLogin: userLogin
]
Map serviceResult = dispatcher.runSync('createSimpleTextContentForInvoice', serviceCtx)
assert ServiceUtil.isSuccess(serviceResult)
GenericValue invoiceContent = from('InvoiceContent')
.where('invoiceId', '1009',
'invoiceContentTypeId', 'COMMENTS')
.queryFirst()
assert invoiceContent != null
}
void testCopyInvoice() {
Map serviceCtx = [
invoiceIdToCopyFrom: '1000',
userLogin: userLogin
]
Map serviceResult = dispatcher.runSync('copyInvoice', serviceCtx)
assert ServiceUtil.isSuccess(serviceResult)
assert serviceResult.invoiceId != null
}
void testCreateInvoice() {
Map serviceCtx = [
invoiceTypeId: 'PURCHASE_INVOICE',
partyIdFrom: 'DEMO_COMPANY',
partyId: 'DEMO_COMPANY1',
invoiceDate: UtilDateTime.nowTimestamp(),
userLogin: userLogin
]
Map serviceResult = dispatcher.runSync('createInvoice', serviceCtx)
assert ServiceUtil.isSuccess(serviceResult)
assert serviceResult.invoiceId != null
}
void testGetInvoice() {
Map serviceCtx = [
invoiceId: '1001',
userLogin: userLogin
]
Map serviceResult = dispatcher.runSync('getInvoice', serviceCtx)
assert ServiceUtil.isSuccess(serviceResult)
assert serviceResult.invoice != null
assert serviceResult.invoiceItems != null
}
void testSetInvoiceStatus() {
Map serviceCtx = [
invoiceId: '1002',
statusId: 'INVOICE_APPROVED',
userLogin: userLogin
]
Map serviceResult = dispatcher.runSync('setInvoiceStatus', serviceCtx)
assert ServiceUtil.isSuccess(serviceResult)
GenericValue invoice = from('Invoice')
.where('invoiceId', '1002')
.queryOne()
assert invoice != null
assert invoice.statusId == 'INVOICE_APPROVED'
}
void testCopyInvoiceToTemplate() {
Map serviceCtx = [
invoiceId: '1002',
invoiceTypeId: 'PURCHASE_INVOICE',
userLogin: userLogin
]
Map serviceResult = dispatcher.runSync('copyInvoiceToTemplate', serviceCtx)
assert ServiceUtil.isSuccess(serviceResult)
assert serviceResult.invoiceId != null
}
void testCreateInvoiceItem() {
Map serviceCtx = [
invoiceId: '1003',
invoiceItemTypeId: 'PINV_FXASTPRD_ITEM',
amount: 1,
userLogin: userLogin
]
Map serviceResult = dispatcher.runSync('createInvoiceItem', serviceCtx)
assert ServiceUtil.isSuccess(serviceResult)
assert serviceResult.invoiceItemSeqId != null
}
void testCreateInvoiceStatus() {
Timestamp nowTimestamp = UtilDateTime.nowTimestamp()
Map serviceCtx = [
invoiceId: '1004',
statusId: 'INVOICE_IN_PROCESS',
statusDate: nowTimestamp,
userLogin: userLogin
]
Map serviceResult = dispatcher.runSync('createInvoiceStatus', serviceCtx)
assert ServiceUtil.isSuccess(serviceResult)
GenericValue invoiceStatus = from('InvoiceStatus')
.where('invoiceId', '1004',
'statusId', 'INVOICE_IN_PROCESS',
'statusDate', nowTimestamp)
.queryOne()
assert invoiceStatus != null
}
void testCreateInvoiceRole() {
Map serviceCtx = [
invoiceId: '1006',
partyId: 'DEMO_COMPANY',
roleTypeId: 'INTERNAL_ORGANIZATIO',
userLogin: userLogin
]
Map serviceResult = dispatcher.runSync('createInvoiceRole', serviceCtx)
assert ServiceUtil.isSuccess(serviceResult)
GenericValue invoiceRole = from('InvoiceRole')
.where('invoiceId', '1006',
'partyId', 'DEMO_COMPANY',
'roleTypeId', 'INTERNAL_ORGANIZATIO')
.queryOne()
assert invoiceRole != null
}
void testCreateInvoiceTerm() {
Map serviceCtx = [
invoiceId: '1006',
invoiceItemSeqId: '00001',
termTypeId: 'FINANCIAL_TERM',
termValue: 50.00,
termDays: 10,
userLogin: userLogin
]
Map serviceResult = dispatcher.runSync('createInvoiceTerm', serviceCtx)
assert ServiceUtil.isSuccess(serviceResult)
GenericValue invoiceTerm = from('InvoiceTerm')
.where('invoiceTermId', serviceResult.invoiceTermId)
.queryOne()
assert invoiceTerm != null
}
void testCancelInvoice() {
Map serviceCtx = [
invoiceId: '1007',
userLogin: userLogin
]
Map serviceResult = dispatcher.runSync('cancelInvoice', serviceCtx)
assert ServiceUtil.isSuccess(serviceResult)
assert serviceResult.invoiceTypeId != null
}
}