odoo/addons/hr_expense/test/test_hr_expense.yml

97 lines
2.7 KiB
YAML

-
In order to test hr_expenses for OpenERP, I create expenses for employee and manage employee's expenses.
-
I create an unit of measure category "Working Time".
-
!record {model: product.uom.categ, id: product_uom_categ_workingtime0}:
name: Working Time.
-
I create a new employee.
-
!record {model: hr.employee, id: hr.employee1}:
address_home_id: base.res_partner_address_1
address_id: base.main_address
-
I create product unit of measure "Hour".
-
!record {model: product.uom, id: product_uom_hour0}:
category_id: 'product_uom_categ_workingtime0'
factor: 8.0
name: Hour
rounding: 0.01
-
I Create a product "travel".
-
!record {model: product.product, id: product_product_travel0}:
categ_id: product.product_category_services
cost_method: standard
hr_expense_ok: 1
list_price: 800.0
mes_type: fixed
name: Travel
procure_method: make_to_stock
standard_price: 700.0
supply_method: buy
type: product
uom_id: 'product_uom_hour0'
uom_po_id: 'product_uom_hour0'
volume: 0.0
warranty: 0.0
weight: 0.0
weight_net: 0.0
-
I create an expense.
-
!record {model: hr.expense.expense, id: hr_expense_expense_september0}:
company_id: base.main_company
currency_id: base.EUR
date: !eval "'%s-05-05' %(datetime.now().year)"
employee_id: hr.employee1
name: September Expenses
line_ids:
- date_value: !eval "'%s-05-27' %(datetime.now().year)"
name: Travel
product_id: 'product_product_travel0'
sequence: 0.0
uom_id: product.product_uom_unit
unit_amount: 700.0
user_id: base.user_root
-
I check that expense is in "Draft" state.
-
!assert {model: hr.expense.expense, id: hr_expense_expense_september0}:
- state == 'draft'
-
I confirm this expenses by click on "Confirm" button.
-
!workflow {model: hr.expense.expense, action: confirm, ref: hr_expense_expense_september0}
-
I check that state is "Waiting Confirmation".
-
!assert {model: hr.expense.expense, id: hr_expense_expense_september0}:
- state == 'confirm'
-
I accept this expense by click on "Accept" button.
-
!workflow {model: hr.expense.expense, action: validate, ref: hr_expense_expense_september0}
-
I invoiced this expense by click on "Invoice" button.
-
!workflow {model: hr.expense.expense, action: invoice, ref: hr_expense_expense_september0}
-
I check that state is "Invoiced"
-
!assert {model: hr.expense.expense, id: hr_expense_expense_september0}:
- state == 'invoiced'
-
I check that Invoice is created for the expense.
-
!python {model: hr.expense.expense}: |
exp = self.browse(cr, uid, [ref('hr_expense_expense_september0')])[0]
assert exp.invoice_id, "Invoice should be created"