Files
Yamen Ahmad 3e83d8d7d5 feat: add complete EnCoach backend — Odoo 19 + all addons
Includes:
- Odoo 19 framework (odoo/)
- 27 custom EnCoach addons (new_project/custom_addons/)
  - encoach_core, encoach_api, encoach_lms_api, encoach_adaptive_api
  - encoach_exam, encoach_taxonomy, encoach_adaptive, encoach_assignment
  - encoach_ai, encoach_ai_grading, encoach_ai_generation, encoach_ai_media
  - encoach_courseware, encoach_communication, encoach_subscription
  - encoach_notification, encoach_approval, encoach_branding
  - encoach_classroom, encoach_registration, encoach_stats
  - encoach_faq, encoach_ticket, encoach_training, encoach_resources
  - encoach_adaptive_ai, encoach_sis
- 21 OpenEduCat Enterprise modules (new_project/enterprise-19/)
- 14 OpenEduCat Community modules (new_project/openeducat_erp-19.0/)
- Configuration: odoo.conf, requirements.txt, scripts
- 200+ REST API endpoints with JWT authentication
- SRS and test documentation

Made-with: Cursor
2026-04-01 17:10:04 +04:00

48 lines
1.8 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.tests import HttpCase, freeze_time, tagged, new_test_user
@tagged('-at_install', 'post_install', 'is_tour')
class TestEmployeeUi(HttpCase):
def test_employee_profile_tour(self):
user = new_test_user(self.env, login='davidelora', groups='base.group_user')
johnny_user = new_test_user(self.env, login="johnny", name="Johnny H.")
self.env['hr.employee'].create([{
'name': 'Johnny H.',
"user_id": johnny_user.id,
}, {
'name': 'David Elora',
'user_id': user.id,
}])
self.start_tour("/odoo", 'hr_employee_tour', login="davidelora")
@freeze_time('2024-01-01')
def test_version_timeline_auto_save_tour(self):
# as payroll tap access will be overridden by hr_payroll
is_payroll_installed = self.env['ir.module.module'].search_count([
('name', '=', 'hr_payroll'), ('state', '=', 'installed')])
group = 'hr_payroll.group_hr_payroll_manager' if is_payroll_installed else 'hr.group_hr_manager'
user = new_test_user(self.env, login='alice', groups=group)
bob_user = new_test_user(self.env, login="Bob", name="Bob M.")
self.env['hr.employee'].create([{
'name': 'Alice',
'user_id': user.id,
}])
bob_employee = self.env['hr.employee'].create([{
'name': 'Bob M.',
"user_id": bob_user.id,
}])
bob_employee.write({
'contract_date_start': '2024-01-01',
'contract_date_end': False,
})
self.start_tour("/odoo", 'version_timeline_auto_save_tour', login="alice")
self.assertFalse(bob_employee.version_ids[-1].contract_date_start)