2 In order to test recurrent meetings in OpenERP, I create meetings with different recurrency using different test cases.
4 I create a recurrent meeting with daily recurrency and fixed amount of time.
6 !record {model: crm.meeting, id: crm_meeting_testmeeting0}:
8 date: '2011-04-13 11:04:00'
9 date_deadline: '2011-04-13 12:04:00'
18 I search for all the recurrent meetings.
20 !python {model: crm.meeting}: |
21 meeting_ids = self.search(cr, uid, [('id', 'in', [ref('crm_meeting_testmeeting0')]),('date','>=','2011-03-13'), ('date_deadline', '<=', '2011-05-13')], context={'virtual_id': True})
22 assert len(meeting_ids) == 5, 'Recurrent daily meetings are not created !'
24 I create a weekly meeting till a particular end date.
26 !record {model: crm.meeting, id: crm_meeting_reviewcodewithprogrammer0}:
27 date: '2011-04-18 11:47:00'
28 date_deadline: '2011-04-18 12:47:00'
31 end_date: '2011-04-30'
38 name: Review code with programmer
44 I search for all the recurrent weekly meetings.
46 !python {model: crm.meeting}: |
47 meeting_ids = self.search(cr, uid, [('id', 'in', [ref('crm_meeting_reviewcodewithprogrammer0')]),('date','>=','2011-03-13'), ('date_deadline', '<=', '2011-05-13')], context={'virtual_id': True})
48 assert len(meeting_ids) == 10, 'Recurrent weekly meetings are not created !'
50 I want to schedule a meeting every month for Sprint review.
52 !record {model: crm.meeting, id: crm_meeting_sprintreview0}:
54 date: '2011-04-01 12:01:00'
55 date_deadline: '2011-04-01 13:01:00'
64 I search for all the recurrent monthly meetings.
66 !python {model: crm.meeting}: |
67 meeting_ids = self.search(cr, uid, [('id', 'in', [ref('crm_meeting_sprintreview0')]),('date','>=','2011-03-01'), ('date_deadline', '<=', '2012-05-13')], context={'virtual_id': True})
68 assert len(meeting_ids) == 12, 'Recurrent monthly meetings are not created !'
70 I change name of my monthly Sprint Review meeting.
72 !python {model: crm.meeting}: |
73 from base_calendar import base_calendar
74 base_cal_id = base_calendar.real_id2base_calendar_id(ref('crm_meeting_sprintreview0'), '2011-09-01 13:01:00')
75 self.write(cr, uid, [base_cal_id], {'name': 'Sprint Review for google modules'})
77 I check whether all the records are edited or not.
79 !python {model: crm.meeting}: |
80 meeting_ids = self.search(cr, uid, [('id', 'in', [ref('crm_meeting_sprintreview0')]),('date','>=','2011-03-01'), ('date_deadline', '<=', '2012-05-13')], context={'virtual_id': True})
81 meetings = self.browse(cr, uid, meeting_ids, context)
82 for meeting in meetings:
83 assert meeting.name == 'Sprint Review for google modules', 'Name not changed for id: %s' %meeting.id
85 I change description of my weekly meeting Review code with programmer.
87 !python {model: crm.meeting}: |
88 from base_calendar import base_calendar
89 base_cal_id = base_calendar.real_id2base_calendar_id(ref('crm_meeting_reviewcodewithprogrammer0'), '2011-04-25 12:47:00')
90 self.write(cr, uid, [base_cal_id], {'description': 'Review code of the module: sync_google_calendar.'})
92 I check whether the record is edited perfectly or not.
94 !python {model: crm.meeting}: |
95 meeting_ids = self.search(cr, uid, [('recurrent_id', '=', ref('crm_meeting_reviewcodewithprogrammer0')), ('recurrent_id_date','=','2011-04-25 12:47:00')], context)
96 assert meeting_ids, 'Meeting is not edited !'