From 22ed1ab2906146ea0d84d05f99690f0003ee318b Mon Sep 17 00:00:00 2001 From: "atp (Open ERP)" Date: Thu, 27 May 2010 19:26:14 +0530 Subject: [PATCH 1/3] [ADD]: hr_expense: add yaml file for hr_expense module. bzr revid: atp@tinyerp.co.in-20100527135614-4j9akydw2imzsdto --- addons/hr_expense/__openerp__.py | 3 +- addons/hr_expense/test/test_hr_expense.yml | 110 +++++++++++++++++++++ 2 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 addons/hr_expense/test/test_hr_expense.yml diff --git a/addons/hr_expense/__openerp__.py b/addons/hr_expense/__openerp__.py index ae13b0ce67b..5f1f24fc6cc 100644 --- a/addons/hr_expense/__openerp__.py +++ b/addons/hr_expense/__openerp__.py @@ -52,8 +52,9 @@ 'report/hr_expense_report_view.xml' ], 'demo_xml': ['hr_expense_demo.xml', -# 'hr.expense.expense.csv' +# '''hr.expense.expense.csv' ], + 'test': ['test/test_hr_expense.yml'], 'installable': True, 'active': False, 'certificate': '0062479841789', diff --git a/addons/hr_expense/test/test_hr_expense.yml b/addons/hr_expense/test/test_hr_expense.yml new file mode 100644 index 00000000000..2763b7227dc --- /dev/null +++ b/addons/hr_expense/test/test_hr_expense.yml @@ -0,0 +1,110 @@ +- | + In order to test hr_expenses for OpenERP, I create expense for employee and manage employee's expenses. +- + Creating unit of measure category "Working Time". +- + !record {model: product.uom.categ, id: product_uom_categ_workingtime0}: + name: Working Time. + +- | + Given that I have employee "employee1" and that address. + +- + !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 +- + Creating a product "travel" and select uom "Hour" and category "Working Time". +- + !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 + +- + Now I create Expense "visit to India" for employee1.and select product "travel". +- + !record {model: hr.expense.expense, id: hr_expense_expense_visitonindia0}: + company_id: base.main_company + currency_id: base.EUR + date: '2010-05-05' + employee_id: hr.employee1 + name: visit on India + line_ids: + - date_value: '2010-05-27' + 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 expenses on "draft" state. +- + !assert {model: hr.expense.expense, id: hr_expense_expense_visitonindia0}: + - state == 'draft' +- | + I confirm this expenses by click on "Confirm" button. +- + !workflow {model: hr.expense.expense, action: confirm, ref: hr_expense_expense_visitonindia0} + +- | + I check that state is "Waiting Confirmation". +- + !assert {model: hr.expense.expense, id: hr_expense_expense_visitonindia0}: + - state == 'confirm' +- | + I accept this expense by click on "Accept" button. +- + !workflow {model: hr.expense.expense, action: validate, ref: hr_expense_expense_visitonindia0} + +- | + I invoiced this expenses by click on "Invoice" button. +- + !workflow {model: hr.expense.expense, action: invoice, ref: hr_expense_expense_visitonindia0} + +- | + I check that state is "Invoiced" +- + !assert {model: hr.expense.expense, id: hr_expense_expense_visitonindia0}: + - state == 'invoiced' +- | + Now I check that Invoice is created for that expenses. +- + !python {model: hr.expense.expense}: | + exp = self.browse(cr, uid, [ref('hr_expense_expense_visitonindia0')])[0] + invoice_obj = self.pool.get('account.invoice') + invoice_ids = invoice_obj.search(cr, uid, [('partner_id', '=', exp.employee_id.address_id.partner_id.id)]) + invoice_id = invoice_obj.browse(cr, uid, invoice_ids)[0] + + for invoice in invoice_id.invoice_line: + product = invoice.product_id.id + + for line in exp.line_ids: + product_exp = line.product_id.id + assert product == product_exp + assert exp.id == invoice_id.id + + \ No newline at end of file From 1b251b2e0145188aedebcd4c77d45bf21d0d0f09 Mon Sep 17 00:00:00 2001 From: "atp (Open ERP)" Date: Fri, 28 May 2010 10:57:20 +0530 Subject: [PATCH 2/3] [IMP]:hr_expense: minor improvement in hr_Expense yaml file. bzr revid: atp@tinyerp.co.in-20100528052720-ipa0e2984wtlwz88 --- addons/hr_expense/test/test_hr_expense.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/addons/hr_expense/test/test_hr_expense.yml b/addons/hr_expense/test/test_hr_expense.yml index 2763b7227dc..373dc9630fd 100644 --- a/addons/hr_expense/test/test_hr_expense.yml +++ b/addons/hr_expense/test/test_hr_expense.yml @@ -44,14 +44,14 @@ weight_net: 0.0 - - Now I create Expense "visit to India" for employee1.and select product "travel". + Now I create Expense "September Expenses" for employee1.and select product "travel". - - !record {model: hr.expense.expense, id: hr_expense_expense_visitonindia0}: + !record {model: hr.expense.expense, id: hr_expense_expense_september0}: company_id: base.main_company currency_id: base.EUR date: '2010-05-05' employee_id: hr.employee1 - name: visit on India + name: September Expenses line_ids: - date_value: '2010-05-27' name: Travel @@ -63,38 +63,38 @@ - | I check that expenses on "draft" state. - - !assert {model: hr.expense.expense, id: hr_expense_expense_visitonindia0}: + !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_visitonindia0} + !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_visitonindia0}: + !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_visitonindia0} + !workflow {model: hr.expense.expense, action: validate, ref: hr_expense_expense_september0} - | I invoiced this expenses by click on "Invoice" button. - - !workflow {model: hr.expense.expense, action: invoice, ref: hr_expense_expense_visitonindia0} + !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_visitonindia0}: + !assert {model: hr.expense.expense, id: hr_expense_expense_september0}: - state == 'invoiced' - | Now I check that Invoice is created for that expenses. - !python {model: hr.expense.expense}: | - exp = self.browse(cr, uid, [ref('hr_expense_expense_visitonindia0')])[0] + exp = self.browse(cr, uid, [ref('hr_expense_expense_september0')])[0] invoice_obj = self.pool.get('account.invoice') invoice_ids = invoice_obj.search(cr, uid, [('partner_id', '=', exp.employee_id.address_id.partner_id.id)]) invoice_id = invoice_obj.browse(cr, uid, invoice_ids)[0] From 057034e60f25b97d1da99f41562d33a6d0ddab0e Mon Sep 17 00:00:00 2001 From: "atp (Open ERP)" Date: Fri, 28 May 2010 15:28:41 +0530 Subject: [PATCH 3/3] [IMP]: hr_expense: Minor problem in yaml of hr_expense module. bzr revid: atp@tinyerp.co.in-20100528095841-z986keukabhju9pj --- addons/hr_expense/__openerp__.py | 2 +- addons/hr_expense/test/test_hr_expense.yml | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/addons/hr_expense/__openerp__.py b/addons/hr_expense/__openerp__.py index 5f1f24fc6cc..83113558c43 100644 --- a/addons/hr_expense/__openerp__.py +++ b/addons/hr_expense/__openerp__.py @@ -52,7 +52,7 @@ 'report/hr_expense_report_view.xml' ], 'demo_xml': ['hr_expense_demo.xml', -# '''hr.expense.expense.csv' +# 'hr.expense.expense.csv' ], 'test': ['test/test_hr_expense.yml'], 'installable': True, diff --git a/addons/hr_expense/test/test_hr_expense.yml b/addons/hr_expense/test/test_hr_expense.yml index 373dc9630fd..82597ada37e 100644 --- a/addons/hr_expense/test/test_hr_expense.yml +++ b/addons/hr_expense/test/test_hr_expense.yml @@ -1,6 +1,6 @@ - | In order to test hr_expenses for OpenERP, I create expense for employee and manage employee's expenses. -- +- | Creating unit of measure category "Working Time". - !record {model: product.uom.categ, id: product_uom_categ_workingtime0}: @@ -8,13 +8,11 @@ - | Given that I have employee "employee1" and that address. - - !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}: @@ -22,7 +20,7 @@ factor: 8.0 name: Hour rounding: 0.01 -- +- | Creating a product "travel" and select uom "Hour" and category "Working Time". - !record {model: product.product, id: product_product_travel0}: @@ -43,7 +41,7 @@ weight: 0.0 weight_net: 0.0 -- +- | Now I create Expense "September Expenses" for employee1.and select product "travel". - !record {model: hr.expense.expense, id: hr_expense_expense_september0}: @@ -68,7 +66,7 @@ - | I confirm this expenses by click on "Confirm" button. - - !workflow {model: hr.expense.expense, action: confirm, ref:hr_expense_expense_september0} + !workflow {model: hr.expense.expense, action: confirm, ref: hr_expense_expense_september0} - | I check that state is "Waiting Confirmation".