Merge lp:~schwann/gallery-app/gallery-atest-tap-select into lp:gallery-app

Proposed by Günter Schwann
Status: Merged
Approved by: Ugo Riboni
Approved revision: 817
Merged at revision: 818
Proposed branch: lp:~schwann/gallery-app/gallery-atest-tap-select
Merge into: lp:gallery-app
Diff against target: 217 lines (+42/-61)
6 files modified
tests/autopilot/gallery_app/emulators/gallery_utils.py (+0/-8)
tests/autopilot/gallery_app/emulators/photos_view.py (+0/-8)
tests/autopilot/gallery_app/emulators/picker_screen.py (+8/-11)
tests/autopilot/gallery_app/tests/test_events_view.py (+4/-0)
tests/autopilot/gallery_app/tests/test_photos_view.py (+9/-0)
tests/autopilot/gallery_app/tests/test_picker_mode.py (+21/-34)
To merge this branch: bzr merge lp:~schwann/gallery-app/gallery-atest-tap-select
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve
Ubuntu Phablet Team Pending
Review via email: mp+180877@code.launchpad.net

Commit message

* cleanups for the autopilot tests
* test if long press on media switches to select mode

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'tests/autopilot/gallery_app/emulators/gallery_utils.py'
2--- tests/autopilot/gallery_app/emulators/gallery_utils.py 2013-08-09 10:20:19 +0000
3+++ tests/autopilot/gallery_app/emulators/gallery_utils.py 2013-08-19 14:00:17 +0000
4@@ -60,14 +60,6 @@
5 return self.app.select_single("QQuickLoader",
6 objectName="albumsCheckerboardLoader")
7
8- def get_tabs_bar(self):
9- """Returns the top tabs bar."""
10- return self.app.select_single("TabBar")
11-
12- def get_albums_tab_button(self):
13- """Returns the photos tab."""
14- return self.app.select_single("AbstractButton", buttonIndex=0)
15-
16 def get_delete_dialog(self):
17 """Returns the delete dialog in the events view."""
18 return self.select_single_retry("DeleteDialog",
19
20=== modified file 'tests/autopilot/gallery_app/emulators/photos_view.py'
21--- tests/autopilot/gallery_app/emulators/photos_view.py 2013-08-12 15:33:20 +0000
22+++ tests/autopilot/gallery_app/emulators/photos_view.py 2013-08-19 14:00:17 +0000
23@@ -13,14 +13,6 @@
24 def __init__(self, app):
25 self.app = app
26
27- def get_photos_tab_button(self):
28- """Returns the photos tab."""
29- return self.app.select_single("AbstractButton", buttonIndex=5)
30-
31- def get_photos_view(self):
32- """Returns the photos view."""
33- return self.app.select_single("Tab", objectName="photosTab")
34-
35 def get_first_photo_in_photos_view(self):
36 """Returns the very first photo in the photos view."""
37 return self.select_many_retry("QQuickItem",
38
39=== renamed file 'tests/autopilot/gallery_app/emulators/picker_mode.py' => 'tests/autopilot/gallery_app/emulators/picker_screen.py'
40--- tests/autopilot/gallery_app/emulators/picker_mode.py 2013-06-26 08:59:08 +0000
41+++ tests/autopilot/gallery_app/emulators/picker_screen.py 2013-08-19 14:00:17 +0000
42@@ -5,23 +5,20 @@
43 # under the terms of the GNU General Public License version 3, as published
44 # by the Free Software Foundation.
45
46-from gallery_utils import GalleryUtils
47-
48-
49-class PickerMode(GalleryUtils):
50-
51- def __init__(self, app):
52- self.app = app
53+from ubuntuuitoolkit import emulators as toolkit_emulators
54+
55+
56+class PickerScreen(toolkit_emulators.MainView):
57
58 def pick_button(self):
59- return self.app.select_single("Button", objectName="pickButton")
60+ return self.select_single("Button", objectName="pickButton")
61
62 def get_photos_tab_button(self):
63 """Returns the photos tab."""
64- return self.app.select_single("AbstractButton", buttonIndex=3)
65+ return self.select_single("AbstractButton", buttonIndex=3)
66
67 def events_view(self):
68- return self.app.select_single("OrganicView", objectName="eventSelectView")
69+ return self.select_single("OrganicView", objectName="eventSelectView")
70
71 def first_media_in_events_view(self):
72 events_view = self.events_view()
73@@ -29,7 +26,7 @@
74 objectName="eventsViewPhoto")[0]
75
76 def grid_view(self):
77- return self.app.select_single("MediaGrid")
78+ return self.select_single("MediaGrid")
79
80 def first_media_in_grid_view(self):
81 grid_view = self.grid_view()
82
83=== modified file 'tests/autopilot/gallery_app/tests/test_events_view.py'
84--- tests/autopilot/gallery_app/tests/test_events_view.py 2013-08-14 14:04:39 +0000
85+++ tests/autopilot/gallery_app/tests/test_events_view.py 2013-08-19 14:00:17 +0000
86@@ -61,6 +61,10 @@
87 self.assertThat(toolbar.opened, Eventually(Equals(False)))
88 self.assertFalse(events_view.inSelectionMode)
89
90+ first_photo = self.gallery_utils.get_first_image_in_event_view()
91+ self.tap_item(first_photo)
92+ self.assertTrue(events_view.inSelectionMode)
93+
94 def test_delete_a_photo(self):
95 """Selecting a photo must make the delete button clickable."""
96 number_of_photos = self.gallery_utils.number_of_photos_in_events()
97
98=== modified file 'tests/autopilot/gallery_app/tests/test_photos_view.py'
99--- tests/autopilot/gallery_app/tests/test_photos_view.py 2013-08-14 14:04:39 +0000
100+++ tests/autopilot/gallery_app/tests/test_photos_view.py 2013-08-19 14:00:17 +0000
101@@ -46,12 +46,21 @@
102 def test_select_button_cancel(self):
103 """Clicking the cancel button after clicking the select button must
104 hide the toolbar automatically."""
105+ photos_overview = self.app.select_single("PhotosOverview")
106+ self.assertFalse(photos_overview.inSelectionMode)
107+
108 self.main_view.open_toolbar().click_button("selectButton")
109+ self.assertTrue(photos_overview.inSelectionMode)
110
111 self.main_view.open_toolbar().click_custom_button("cancelButton")
112
113 toolbar = self.main_view.get_toolbar()
114 self.assertThat(toolbar.active, Eventually(Equals(False)))
115+ self.assertFalse(photos_overview.inSelectionMode)
116+
117+ first_photo = self.photos_view.get_first_photo_in_photos_view()
118+ self.tap_item(first_photo)
119+ self.assertTrue(photos_overview.inSelectionMode)
120
121 def test_delete_a_photo(self):
122 """Selecting a photo must make the delete button clickable."""
123
124=== modified file 'tests/autopilot/gallery_app/tests/test_picker_mode.py'
125--- tests/autopilot/gallery_app/tests/test_picker_mode.py 2013-08-08 11:42:24 +0000
126+++ tests/autopilot/gallery_app/tests/test_picker_mode.py 2013-08-19 14:00:17 +0000
127@@ -13,69 +13,56 @@
128 from testtools.matchers import Equals, GreaterThan
129 from autopilot.matchers import Eventually
130
131-from gallery_app.emulators.picker_mode import PickerMode
132+from gallery_app.emulators.picker_screen import PickerScreen
133 from gallery_app.tests import GalleryTestCase
134
135
136 class TestPickerMode(GalleryTestCase):
137
138 @property
139- def picker_mode(self):
140- return PickerMode(self.app)
141+ def picker_view(self):
142+ return self.app.select_single(PickerScreen)
143
144 def setUp(self):
145 self.ARGS.append("--pick-photo")
146 super(TestPickerMode, self).setUp()
147-
148+
149 def select_first_event_media(self):
150- first_media = self.picker_mode.first_media_in_events_view()
151+ first_media = self.picker_view.first_media_in_events_view()
152 self.click_item(first_media)
153-
154+
155 def select_first_grid_media(self):
156- first_media = self.picker_mode.first_media_in_events_view()
157+ first_media = self.picker_view.first_media_in_events_view()
158 self.click_item(first_media)
159-
160- def switch_to_grid_view(self):
161- tabs_bar = self.picker_mode.get_tabs_bar()
162- self.click_item(tabs_bar)
163- photos_tab_button = self.picker_mode.get_photos_tab_button()
164- # Due to some timing issues sometimes mouse moves to the location a bit
165- # earlier even though the tab item is not fully visible, hence the tab
166- # does not activate.
167- self.assertThat(photos_tab_button.opacity,
168- Eventually(GreaterThan(0.2)))
169- self.click_item(photos_tab_button)
170- self.ensure_tabs_dont_move()
171
172 def test_pick_first_photo(self):
173 """Check if the button enabled state follows the selection"""
174- pick_button = self.picker_mode.pick_button()
175+ pick_button = self.picker_view.pick_button()
176 self.assertThat(pick_button.enabled, Eventually(Equals(False)))
177- first_events_media = self.picker_mode.first_media_in_events_view()
178+ first_events_media = self.picker_view.first_media_in_events_view()
179 self.assertThat(first_events_media.isSelected, Eventually(Equals(False)))
180-
181+
182 self.select_first_event_media()
183-
184- pick_button = self.picker_mode.pick_button()
185+
186+ pick_button = self.picker_view.pick_button()
187 self.assertThat(pick_button.enabled, Eventually(Equals(True)))
188 self.assertThat(first_events_media.isSelected, Eventually(Equals(True)))
189-
190+
191 self.select_first_event_media()
192-
193- pick_button = self.picker_mode.pick_button()
194+
195+ pick_button = self.picker_view.pick_button()
196 self.assertThat(pick_button.enabled, Eventually(Equals(False)))
197 self.assertThat(first_events_media.isSelected, Eventually(Equals(False)))
198
199 def test_selection_synchronisation(self):
200 """Checks if the selection is the same for both views"""
201- first_events_media = self.picker_mode.first_media_in_events_view()
202+ first_events_media = self.picker_view.first_media_in_events_view()
203 self.assertThat(first_events_media.isSelected, Eventually(Equals(False)))
204-
205+
206 self.select_first_event_media()
207 self.assertThat(first_events_media.isSelected, Eventually(Equals(True)))
208-
209- self.switch_to_grid_view()
210-
211- first_grid_media = self.picker_mode.first_media_in_grid_view()
212+
213+ self.picker_view.switch_to_next_tab()
214+
215+ first_grid_media = self.picker_view.first_media_in_grid_view()
216 self.assertThat(first_grid_media.isSelected, Eventually(Equals(True)))
217-

Subscribers

People subscribed via source and target branches