~seb128/ubuntu-system-settings/notifcations-string-tweak

« back to all changes in this revision

Viewing changes to tests/autopilot/ubuntu_system_settings/__init__.py

[cellular] split "Cellular Data" and "Connection type" into two separate pieces in the UI for both single and multi SIM Fixes: 1361226, 1377455, 1378812
Approved by: Ken VanDine, PS Jenkins bot

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
1
2
# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
2
3
#
3
4
# Copyright (C) 2014 Canonical Ltd.
114
115
    def go_to_wifi_page(self):
115
116
        return self._go_to_page('entryComponent-wifi', 'wifiPage')
116
117
 
 
118
    @autopilot.logging.log_action(logger.debug)
 
119
    def go_to_cellular_page(self):
 
120
        return self._go_to_page('entryComponent-cellular', 'cellularPage')
 
121
 
117
122
    def _go_to_page(self, item_object_name, page_object_name):
118
123
        self.click_item(item_object_name)
119
124
        page = self.wait_select_single(objectName=page_object_name)
202
207
        self._orientation_lock_switch.uncheck()
203
208
 
204
209
 
205
 
class CelullarPage(ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase):
 
210
class CellularPage(ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase):
206
211
 
207
212
    """Autopilot helper for the Sound page."""
208
213
 
214
219
                return True
215
220
        return False
216
221
 
 
222
    @autopilot.logging.log_action(logger.debug)
 
223
    def enable_data(self):
 
224
        self._set_data(True)
 
225
 
 
226
    @autopilot.logging.log_action(logger.debug)
 
227
    def disable_data(self):
 
228
        self._set_data(False)
 
229
 
 
230
    def disable_datas(self):
 
231
        self.select_sim_for_data('off')
 
232
 
 
233
    @autopilot.logging.log_action(logger.debug)
 
234
    def _set_data(self, data):
 
235
        chk = self.select_single(objectName='data')
 
236
        if data:
 
237
            chk.check()
 
238
        else:
 
239
            chk.uncheck()
 
240
 
 
241
    @autopilot.logging.log_action(logger.debug)
 
242
    def get_data(self):
 
243
        return self.select_single(objectName='data').checked
 
244
 
 
245
    @autopilot.logging.log_action(logger.debug)
 
246
    def enable_roaming(self, timeout=10):
 
247
        self._set_roaming(True, timeout=timeout)
 
248
 
 
249
    @autopilot.logging.log_action(logger.debug)
 
250
    def disable_roaming(self, timeout=10):
 
251
        self._set_roaming(False, timeout=timeout)
 
252
 
 
253
    @autopilot.logging.log_action(logger.debug)
 
254
    def _set_roaming(self, roaming, timeout):
 
255
        chk = self.select_single(objectName='roaming')
 
256
        if roaming:
 
257
            chk.check(timeout=timeout)
 
258
        else:
 
259
            chk.uncheck(timeout=timeout)
 
260
 
 
261
    @autopilot.logging.log_action(logger.debug)
 
262
    def set_connection_type(self, radio_type, sim='/ril_0',
 
263
                            scroll_to_and_click=None):
 
264
        self._set_connection_type(radio_type, sim, scroll_to_and_click)
 
265
 
 
266
    @autopilot.logging.log_action(logger.debug)
 
267
    def _set_connection_type(self, radio_type, sim, scroll_to_and_click):
 
268
        t = self.wait_select_single(
 
269
            'OptionSelectorDelegate',
 
270
            objectName='%s_radio_%s' % (sim, radio_type))
 
271
        if scroll_to_and_click:
 
272
            scroll_to_and_click(t)
 
273
        else:
 
274
            t.swipe_into_view()
 
275
 
 
276
        self.pointing_device.click_object(t)
 
277
 
 
278
    @autopilot.logging.log_action(logger.debug)
 
279
    def change_carrier(self, carrier, sim=None):
 
280
        if sim:
 
281
            carriersPage = self._click_carriers()
 
282
            carrierPage = carriersPage.select_sim(sim)
 
283
        else:
 
284
            carrierPage = self._click_carrier()
 
285
 
 
286
        carrierPage.set_manual()
 
287
        carrierPage.set_carrier(carrier)
 
288
 
 
289
    @autopilot.logging.log_action(logger.debug)
 
290
    def _click_carrier(self):
 
291
        item = self.select_single(objectName='carrier')
 
292
        self.pointing_device.click_object(item)
 
293
        return self.get_root_instance().wait_select_single(
 
294
            objectName='chooseCarrierPage')
 
295
 
 
296
    @autopilot.logging.log_action(logger.debug)
 
297
    def _click_carriers(self):
 
298
        item = self.select_single(objectName='carriers')
 
299
        self.pointing_device.click_object(item)
 
300
        return self.get_root_instance().wait_select_single(
 
301
            objectName='chooseCarriersPage')
 
302
 
 
303
    @autopilot.logging.log_action(logger.debug)
 
304
    def select_sim_for_data(self, sim):
 
305
        self._select_sim_for_data(sim)
 
306
 
 
307
    @autopilot.logging.log_action(logger.debug)
 
308
    def _select_sim_for_data(self, sim):
 
309
        item = self.select_single(objectName='use%s' % sim)
 
310
        self.pointing_device.click_object(item)
 
311
 
 
312
    @autopilot.logging.log_action(logger.debug)
 
313
    def select_sim_for_calls(self, sim):
 
314
        pass
 
315
 
 
316
    @autopilot.logging.log_action(logger.debug)
 
317
    def select_sim_for_messages(self):
 
318
        pass
 
319
 
 
320
    @autopilot.logging.log_action(logger.debug)
 
321
    def set_name(self, sim, name):
 
322
        self._set_name(sim, name)
 
323
 
 
324
    def get_name(self, sim):
 
325
        obj = self.select_single(
 
326
            objectName="label_%s" % sim)
 
327
        return obj.text
 
328
 
 
329
    def _set_name(self, sim, name):
 
330
        obj = self.select_single(
 
331
            objectName="edit_name_%s" % sim)
 
332
        self.pointing_device.click_object(obj)
 
333
 
 
334
        # wait for animation
 
335
        sleep(1)
 
336
        ok = self.select_single('Button', objectName="doRename")
 
337
 
 
338
        field = self.select_single('TextField', objectName="nameField")
 
339
        field.write(name)
 
340
        self.pointing_device.click_object(ok)
 
341
 
 
342
 
 
343
class PageChooseCarriers(ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase):
 
344
 
 
345
    """Autopilot helper for carrier selection page (multisim)."""
 
346
 
 
347
    @autopilot.logging.log_action(logger.debug)
 
348
    def select_sim(self, sim):
 
349
        return self._select_sim(sim)
 
350
 
 
351
    @autopilot.logging.log_action(logger.debug)
 
352
    def _select_sim(self, sim):
 
353
        item = self.select_single(objectName='%s_carriers' % sim)
 
354
        self.pointing_device.click_object(item)
 
355
        return self.get_root_instance().wait_select_single(
 
356
            objectName='chooseCarrierPage')
 
357
 
 
358
 
 
359
class PageChooseCarrier(ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase):
 
360
 
 
361
    """Autopilot helper for carrier selection page (singlesim)."""
 
362
 
 
363
    @autopilot.logging.log_action(logger.debug)
 
364
    def set_manual(self):
 
365
        item = self.select_single(text='Manually')
 
366
        self.pointing_device.click_object(item)
 
367
 
 
368
    @autopilot.logging.log_action(logger.debug)
 
369
    def set_automatic(self):
 
370
        item = self.select_single(text='Automatically')
 
371
        self.pointing_device.click_object(item)
 
372
 
 
373
    def set_carrier(self, carrier):
 
374
        # wait for animation, since page.animationRunning.wait_for(False)
 
375
        # does not work?
 
376
        sleep(0.5)
 
377
        item = self.select_single(text=carrier)
 
378
        self.pointing_device.click_object(item)
 
379
 
217
380
 
218
381
class TimeAndDatePage(ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase):
219
382