Files
2025-05-05 09:03:48 +07:00

130 lines
4.7 KiB
Python

###############################################################################
#
# OpenEduCat Inc
# Copyright (C) 2009-TODAY OpenEduCat Inc(<https://www.openeducat.org>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
import time
from logging import info
from .test_timetable_common import TestTimetableCommon
class TestFacultySession(TestTimetableCommon):
def setUp(self):
super(TestFacultySession, self).setUp()
def test_case_faculty(self):
faculty = self.op_faculty.search([])
if not faculty:
raise AssertionError(
'Error in data, please check for faculty session details')
info(' Details Of Faculty Sessions:.....')
for record in faculty:
info(' Sessions : %s' % record.session_ids.name)
class TestTimetable(TestTimetableCommon):
def setUp(self):
super(TestTimetable, self).setUp()
def test_case_timetable(self):
session = self.op_session.create({
'timing_id': self.env.ref('openeducat_timetable.op_timing_1').id,
'start_datetime': time.strftime('%Y-%m-10 11:00'),
'end_datetime': time.strftime('%Y-%m-10 12:00'),
'course_id': self.env.ref('openeducat_core.op_course_2').id,
'faculty_id': self.env.ref('openeducat_core.op_faculty_1').id,
'batch_id': self.env.ref('openeducat_core.op_batch_1').id,
'subject_id': self.env.ref('openeducat_core.op_subject_1').id
})
info(' Details Of Timetable Sessions:.....')
session._compute_day()
session._compute_name()
session._compute_batch_users()
session._check_date_time()
session.onchange_course()
session.notify_user()
session.get_subject()
session.get_import_templates()
session.lecture_draft()
session.lecture_confirm()
session.lecture_done()
session.lecture_cancel()
class TestGenerateTimetable(TestTimetableCommon):
def setUp(self):
super(TestGenerateTimetable, self).setUp()
def test_case_wizard_generate_timetable(self):
wizard = self.generate_timetable.create({
'course_id': self.env.ref('openeducat_core.op_course_2').id,
'batch_id': self.env.ref('openeducat_core.op_batch_1').id,
'start_date': time.strftime('%Y-%m-01'),
'end_date': time.strftime('%Y-%m-01')
})
info(' Details Of Sessions:.....')
wizard.act_gen_time_table()
wizard.check_dates()
wizard.onchange_course()
class TestWizardSession(TestTimetableCommon):
def setUp(self):
super(TestWizardSession, self).setUp()
def test_case_wizard_session(self):
wizard = self.generate_timetable.create({
'course_id': self.env.ref('openeducat_core.op_course_2').id,
'batch_id': self.env.ref('openeducat_core.op_batch_1').id,
'start_date': time.strftime('%Y-%m-01'),
'end_date': time.strftime('%Y-%m-01')
})
session = self.wizard_session.create({
'gen_time_table': wizard.id,
'faculty_id': self.env.ref('openeducat_core.op_faculty_1').id,
'subject_id': self.env.ref('openeducat_core.op_subject_1').id,
'timing_id': self.env.ref('openeducat_timetable.op_timing_1').id,
'day': '2'
})
info(' Details Of Session lines:.....')
return session
class TestTimetableReport(TestTimetableCommon):
def setUp(self):
super(TestTimetableReport, self).setUp()
def test_case_wizard_timetable_report(self):
report = self.timetable_report.create({
'state': 'student',
'course_id': self.env.ref('openeducat_core.op_course_2').id,
'batch_id': self.env.ref('openeducat_core.op_batch_1').id,
'start_date': time.strftime('%Y-%m-01'),
'end_date': time.strftime('%Y-%m-01')
})
info(' Details Of Timetable Report:.....')
report._check_dates()
report.onchange_course()
report.gen_time_table_report()