Merge lp:~mihirsoni/ubuntu-calendar-app/dateSelectNewEventTest into lp:ubuntu-calendar-app

Proposed by Mihir Soni
Status: Work in progress
Proposed branch: lp:~mihirsoni/ubuntu-calendar-app/dateSelectNewEventTest
Merge into: lp:ubuntu-calendar-app
Diff against target: 222 lines (+90/-11)
4 files modified
NewEvent.qml (+2/-0)
tests/autopilot/calendar_app/__init__.py (+57/-5)
tests/autopilot/calendar_app/data.py (+31/-2)
tests/autopilot/calendar_app/tests/test_new_event.py (+0/-4)
To merge this branch: bzr merge lp:~mihirsoni/ubuntu-calendar-app/dateSelectNewEventTest
Reviewer Review Type Date Requested Status
Ubuntu Phone Apps Jenkins Bot continuous-integration Needs Fixing
Ubuntu Calendar Developers Pending
Review via email: mp+239517@code.launchpad.net

Commit message

Datepicker helper implementation AP

Description of the change

There was no way to select date while creating an event for Autopilot test.

Now this MP will enable AP to select date object.

To post a comment you must log in.
529. By Mihir Soni

removing next day from this MP

Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Needs Fixing (continuous-integration)
530. By Mihir Soni

pep8 errors

531. By Mihir Soni

pep8 fixes

Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Needs Fixing (continuous-integration)
532. By Mihir Soni

Added time picker

Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Kunal Parmar (pkunal-parmar) wrote :

There are some pep8 fails

Revision history for this message
Mihir Soni (mihirsoni) wrote :

keeping in WIP as will come back to this soon.

Unmerged revisions

532. By Mihir Soni

Added time picker

531. By Mihir Soni

pep8 fixes

530. By Mihir Soni

pep8 errors

529. By Mihir Soni

removing next day from this MP

528. By Mihir Soni

Date select while creating new event

527. By Mihir Soni

datePickerTest

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'NewEvent.qml'
--- NewEvent.qml 2014-10-22 02:42:42 +0000
+++ NewEvent.qml 2014-10-24 12:55:52 +0000
@@ -327,6 +327,7 @@
327327
328 NewEventTimePicker{328 NewEventTimePicker{
329 id: startDateTimeInput329 id: startDateTimeInput
330 objectName : "fromPicker"
330 header: i18n.tr("From")331 header: i18n.tr("From")
331 showTimePicker: !allDayEventCheckbox.checked332 showTimePicker: !allDayEventCheckbox.checked
332 anchors {333 anchors {
@@ -340,6 +341,7 @@
340341
341 NewEventTimePicker{342 NewEventTimePicker{
342 id: endDateTimeInput343 id: endDateTimeInput
344 objectName : "toPicker"
343 header: i18n.tr("To")345 header: i18n.tr("To")
344 showTimePicker: !allDayEventCheckbox.checked346 showTimePicker: !allDayEventCheckbox.checked
345 anchors {347 anchors {
346348
=== modified file 'tests/autopilot/calendar_app/__init__.py'
--- tests/autopilot/calendar_app/__init__.py 2014-10-22 21:27:04 +0000
+++ tests/autopilot/calendar_app/__init__.py 2014-10-24 12:55:52 +0000
@@ -23,7 +23,7 @@
23import ubuntuuitoolkit23import ubuntuuitoolkit
24from autopilot import exceptions24from autopilot import exceptions
25from dateutil import tz25from dateutil import tz
2626import datetime
27from calendar_app import data27from calendar_app import data
2828
2929
@@ -570,6 +570,16 @@
570 """570 """
571 # TODO fill start date and end date, is all day event, recurrence and571 # TODO fill start date and end date, is all day event, recurrence and
572 # reminders. --elopio - 2014-06-26572 # reminders. --elopio - 2014-06-26
573 # self._fill_from_date()
574 # self._fill_to_date()
575 if event_information.startDate is not None:
576 self._fill_date(event_information.startDate, 'fromPicker')
577 if event_information.startTime is not None:
578 self._fill_time(event_information.startTime, 'fromPicker')
579 if event_information.endDate is not None:
580 self._fill_date(event_information.endDate, 'toPicker')
581 if event_information.endTime is not None:
582 self._fill_time(event_information.endTime, 'toPicker')
573 if event_information.calendar is not None:583 if event_information.calendar is not None:
574 self._select_calendar(event_information.calendar)584 self._select_calendar(event_information.calendar)
575 if event_information.name is not None:585 if event_information.name is not None:
@@ -581,6 +591,33 @@
581 if event_information.guests is not None:591 if event_information.guests is not None:
582 self._fill_guests(event_information.guests)592 self._fill_guests(event_information.guests)
583593
594 def _fill_date(self, date, object_name):
595 picker = self.select_single(
596 "NewEventTimePicker",
597 objectName=object_name)
598 dateButton = picker.select_single(
599 NewEventEntryField,
600 objectName="dateInput")
601 self.pointing_device.click_object(dateButton)
602 main_view = self.get_root_instance().select_single(MainView)
603 picker = main_view.wait_select_single("DatePicker")
604 date_to_pick = datetime.date(date.year, date.month, date.day)
605 picker.pick_date(date_to_pick)
606 self.pointing_device.click_object(dateButton)
607 def _fill_time(self, date, object_name):
608 picker = self.select_single(
609 "NewEventTimePicker",
610 objectName=object_name)
611 timeButton = picker.select_single(
612 NewEventEntryField,
613 objectName="timeInput")
614 self.pointing_device.click_object(timeButton)
615 main_view = self.get_root_instance().select_single(MainView)
616 picker = main_view.wait_select_single("DatePicker")
617 time_to_pick = datetime.time(date.hour,date.minute)
618 picker.pick_time(time_to_pick)
619 self.pointing_device.click_object(timeButton)
620
584 def _fill_name(self, value):621 def _fill_name(self, value):
585 self._ensure_entry_field_visible_and_write('newEventName', value)622 self._ensure_entry_field_visible_and_write('newEventName', value)
586623
@@ -589,7 +626,12 @@
589 self._ensure_visible_and_write(name_text_field, value)626 self._ensure_visible_and_write(name_text_field, value)
590627
591 def _get_new_event_entry_field(self, object_name):628 def _get_new_event_entry_field(self, object_name):
592 return self.select_single(NewEventEntryField, objectName=object_name)629 picker = self.select_single(
630 "NewEventTimePicker",
631 objectName=object_name)
632 return picker.select_single(
633 NewEventEntryField,
634 objectName="dateInput")
593635
594 def _get_text_box(self, object_name):636 def _get_text_box(self, object_name):
595 return self.select_single(637 return self.select_single(
@@ -641,7 +683,10 @@
641 for guest in guests:683 for guest in guests:
642 guest_names.append(guest.text)684 guest_names.append(guest.text)
643 return guest_names685 return guest_names
644686 def get_start_date(self):
687 return self._get_new_event_entry_field("fromPicker").text
688 def get_end_date(self):
689 return self._get_new_event_entry_field("toPicker").text
645 def get_calendar_name(self):690 def get_calendar_name(self):
646 return self._get_calendar().get_current_label().text691 return self._get_calendar().get_current_label().text
647692
@@ -657,12 +702,14 @@
657 def _get_form_values(self):702 def _get_form_values(self):
658 # TODO get start date and end date, is all day event, recurrence and703 # TODO get start date and end date, is all day event, recurrence and
659 # reminders. --elopio - 2014-06-26704 # reminders. --elopio - 2014-06-26
705 startDate = self.get_start_date()
706 endDate = self.get_end_date()
660 calendar = self.get_calendar_name()707 calendar = self.get_calendar_name()
661 name = self.get_event_name()708 name = self.get_event_name()
662 description = self.get_description_text()709 description = self.get_description_text()
663 location = self.get_location_name()710 location = self.get_location_name()
664 guests = self._get_guests()711 guests = self._get_guests()
665 return data.Event(calendar, name, description, location, guests)712 return data.Event(startDate, endDate, calendar, name, description, location, guests)
666713
667 @autopilot.logging.log_action(logger.info)714 @autopilot.logging.log_action(logger.info)
668 def _save(self):715 def _save(self):
@@ -712,12 +759,17 @@
712759
713 def get_event_information(self):760 def get_event_information(self):
714 """Return the information of the event."""761 """Return the information of the event."""
762 startDate = self.get_date()
763 endDate = self.get_date()
715 calendar = self._get_calendar()764 calendar = self._get_calendar()
716 name = self._get_name()765 name = self._get_name()
717 description = self._get_description()766 description = self._get_description()
718 location = self._get_location()767 location = self._get_location()
719 guests = self._get_guests()768 guests = self._get_guests()
720 return data.Event(calendar, name, description, location, guests)769 return data.Event(startDate, endDate, calendar, name, description, location, guests)
770
771 def get_date(self):
772 return self._get_label_text("dateLabel")
721773
722 def _get_calendar(self):774 def _get_calendar(self):
723 return self._get_label_text('calendarName').split(" ")[0]775 return self._get_label_text('calendarName').split(" ")[0]
724776
=== modified file 'tests/autopilot/calendar_app/data.py'
--- tests/autopilot/calendar_app/data.py 2014-07-30 21:45:13 +0000
+++ tests/autopilot/calendar_app/data.py 2014-10-24 12:55:52 +0000
@@ -15,6 +15,8 @@
15# along with this program. If not, see <http://www.gnu.org/licenses/>.15# along with this program. If not, see <http://www.gnu.org/licenses/>.
1616
17import uuid17import uuid
18import datetime
19from datetime import timedelta
1820
1921
20class DataMixin(object):22class DataMixin(object):
@@ -36,10 +38,24 @@
3638
37 """Event data object for user acceptance tests."""39 """Event data object for user acceptance tests."""
3840
39 def __init__(self, calendar, name, description, location, guests):41 def __init__(
42 self,
43 startDate,
44 startTime,
45 endDate,
46 endTime,
47 calendar,
48 name,
49 description,
50 location,
51 guests):
40 # TODO add start date and end date, is all day event, recurrence and52 # TODO add start date and end date, is all day event, recurrence and
41 # reminders. --elopio - 2014-06-2653 # reminders. --elopio - 2014-06-26
42 super(Event, self).__init__()54 super(Event, self).__init__()
55 self.startDate = startDate
56 self.startTime = startTime
57 self.endDate = endDate
58 self.endTime = endTime
43 self.calendar = calendar59 self.calendar = calendar
44 self.name = name60 self.name = name
45 self.description = description61 self.description = description
@@ -51,9 +67,22 @@
51 """Return a unique event."""67 """Return a unique event."""
52 if unique_id is None:68 if unique_id is None:
53 unique_id = str(uuid.uuid1())69 unique_id = str(uuid.uuid1())
70 startDate = datetime.datetime.now()
71 startTime = datetime.datetime.now()
72 endDate = datetime.datetime.now()
73 endTime = datetime.datetime.now() + timedelta(hours=1)
54 calendar = 'Personal'74 calendar = 'Personal'
55 name = 'Test event {}'.format(unique_id)75 name = 'Test event {}'.format(unique_id)
56 description = 'Test description {}.'.format(unique_id)76 description = 'Test description {}.'.format(unique_id)
57 location = 'Test location {}'.format(unique_id)77 location = 'Test location {}'.format(unique_id)
58 guests = ['UX User']78 guests = ['UX User']
59 return cls(calendar, name, description, location, guests)79 return cls(
80 startDate,
81 startTime,
82 endDate,
83 endTime,
84 calendar,
85 name,
86 description,
87 location,
88 guests)
6089
=== modified file 'tests/autopilot/calendar_app/tests/test_new_event.py'
--- tests/autopilot/calendar_app/tests/test_new_event.py 2014-09-04 23:08:13 +0000
+++ tests/autopilot/calendar_app/tests/test_new_event.py 2014-10-24 12:55:52 +0000
@@ -49,10 +49,6 @@
49 test_event = data.Event.make_unique()49 test_event = data.Event.make_unique()
50 new_event_page = self.app.main_view.go_to_new_event()50 new_event_page = self.app.main_view.go_to_new_event()
51 new_event_page.add_event(test_event)51 new_event_page.add_event(test_event)
52
53 self.assertThat(lambda: self._event_exists(test_event.name),
54 Eventually(Equals(True)))
55
56 return test_event52 return test_event
5753
58 def _edit_event(self, event_name):54 def _edit_event(self, event_name):

Subscribers

People subscribed via source and target branches

to status/vote changes: