You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							50 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							50 lines
						
					
					
						
							2.1 KiB
						
					
					
				| # -*- coding: utf-8 -*- | |
| 
 | |
| from datetime import datetime, timedelta | |
| 
 | |
| from odoo.fields import Date | |
| from odoo.tests.common import TransactionCase | |
| 
 | |
| 
 | |
| class TestPayslipBase(TransactionCase): | |
| 
 | |
|     def setUp(self): | |
|         super(TestPayslipBase, self).setUp() | |
| 
 | |
|         # Some salary rules references | |
|         self.hra_rule_id = self.ref('hr_payroll_community.hr_salary_rule_houserentallowance1') | |
|         self.conv_rule_id = self.ref('hr_payroll_community.hr_salary_rule_convanceallowance1') | |
|         self.prof_tax_rule_id = self.ref('hr_payroll_community.hr_salary_rule_professionaltax1') | |
|         self.pf_rule_id = self.ref('hr_payroll_community.hr_salary_rule_providentfund1') | |
|         self.mv_rule_id = self.ref('hr_payroll_community.hr_salary_rule_meal_voucher') | |
|         self.comm_rule_id = self.ref('hr_payroll_community.hr_salary_rule_sales_commission') | |
| 
 | |
|         # I create a new employee "Richard" | |
|         self.richard_emp = self.env['hr.employee'].create({ | |
|             'name': 'Richard', | |
|             'gender': 'male', | |
|             'birthday': '1984-05-01', | |
|             'country_id': self.ref('base.be'), | |
|             'department_id': self.ref('hr.dep_rd') | |
|         }) | |
| 
 | |
|         # I create a salary structure for "Software Developer" | |
|         self.developer_pay_structure = self.env['hr.payroll.structure'].create({ | |
|             'name': 'Salary Structure for Software Developer', | |
|             'code': 'SD', | |
|             'company_id': self.ref('base.main_company'), | |
|             'rule_ids': [(4, self.hra_rule_id), (4, self.conv_rule_id), | |
|                          (4, self.prof_tax_rule_id), (4, self.pf_rule_id), | |
|                          (4, self.mv_rule_id), (4, self.comm_rule_id)], | |
|         }) | |
| 
 | |
|         # I create a contract for "Richard" | |
|         self.env['hr.contract'].create({ | |
|             'date_end': Date.to_string((datetime.now() + timedelta(days=365))), | |
|             'date_start': Date.today(), | |
|             'name': 'Contract for Richard', | |
|             'wage': 5000.0, | |
|             'type_id': self.ref('hr_contract.hr_contract_type_emp'), | |
|             'employee_id': self.richard_emp.id, | |
|             'struct_id': self.developer_pay_structure.id, | |
|         })
 | |
| 
 |