~mzanetti/unity8/fix-1648251

« back to all changes in this revision

Viewing changes to tests/qmltests/Greeter/tst_Greeter.qml

  • Committer: Michael Zanetti
  • Date: 2016-10-13 11:02:11 UTC
  • mfrom: (2525.1.132 unity8)
  • Revision ID: michael.zanetti@canonical.com-20161013110211-tj2gly2dxaqj5t2e
merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright 2015 Canonical Ltd.
 
2
 * Copyright 2015-2016 Canonical Ltd.
3
3
 *
4
4
 * This program is free software; you can redistribute it and/or modify
5
5
 * it under the terms of the GNU General Public License as published by
22
22
import AccountsService 0.1
23
23
import Biometryd 0.0
24
24
import GSettings 1.0
25
 
import IntegratedLightDM 0.1 as LightDM
 
25
import LightDM.IntegratedLightDM 0.1  as LightDM // This is the mock
26
26
import Unity.Test 0.1 as UT
27
27
 
28
28
Item {
29
29
    width: units.gu(120)
30
30
    height: units.gu(80)
31
31
 
32
 
    property url defaultBackground: Qt.resolvedUrl("../../../qml/graphics/tablet_background.jpg")
 
32
    property url defaultBackground: "/usr/share/backgrounds/warty-final-ubuntu.png"
33
33
 
34
34
    Component.onCompleted: {
35
35
        // set the mock mode before loading
146
146
 
147
147
        function init() {
148
148
            greeterSettings.lockedOutTime = 0;
149
 
            resetLoader();
 
149
            LightDM.Greeter.selectUser = "";
 
150
            greeter.failedLoginsDelayAttempts = 7;
 
151
            greeter.failedLoginsDelayMinutes = 5;
150
152
            teaseSpy.clear();
151
153
            sessionStartedSpy.clear();
152
154
            activeChangedSpy.clear();
162
164
            viewShowErrorMessageSpy.clear();
163
165
            viewResetSpy.clear();
164
166
            viewTryToUnlockSpy.clear();
165
 
            tryCompare(greeter, "waiting", false);
166
 
            view = findChild(greeter, "testView");
167
 
            verifySelected(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
168
 
            greeter.failedLoginsDelayAttempts = 7;
169
 
            greeter.failedLoginsDelayMinutes = 5;
 
167
            resetLoader();
170
168
        }
171
169
 
172
170
        function resetLoader() {
178
176
            loader.active = true;
179
177
            tryCompare(loader, "status", Loader.Ready);
180
178
            removeTimeConstraintsFromSwipeAreas(loader.item);
 
179
            tryCompare(greeter, "waiting", false);
 
180
            view = findChild(greeter, "testView");
181
181
        }
182
182
 
183
183
        function getIndexOf(name) {
194
194
            var i = getIndexOf(name);
195
195
            view.selected(i);
196
196
            verifySelected(name);
 
197
            compare(greeter.waiting, true);
 
198
            tryCompare(greeter, "waiting", false);
197
199
            return i;
198
200
        }
199
201
 
202
204
            compare(view.currentIndex, i);
203
205
            compare(AccountsService.user, name);
204
206
            compare(LightDM.Greeter.authenticationUser, name);
 
207
            return i;
205
208
        }
206
209
 
207
210
        function verifyLoggedIn() {
248
251
 
249
252
        function test_promptless() {
250
253
            selectUser("no-password");
251
 
            tryCompare(viewAuthenticationSucceededSpy, "count", 1);
252
 
            compare(sessionStartedSpy.count, 1);
 
254
            tryCompare(view, "locked", false);
253
255
            compare(viewShowPromptSpy.count, 0);
254
256
            compare(viewHideSpy.count, 0);
255
 
            compare(view.locked, false);
256
257
        }
257
258
 
258
259
        function test_twoFactorPass() {
326
327
            compare(viewShowMessageSpy.signalArguments[2][0], "You should have seen three messages");
327
328
        }
328
329
 
329
 
        function test_waiting() {
330
 
            // Make sure we unset 'waiting' on prompt
331
 
            selectUser("has-password");
332
 
            compare(greeter.waiting, true);
333
 
            tryCompare(greeter, "waiting", false);
334
 
 
335
 
            // Make sure we unset 'waiting' on authentication
336
 
            selectUser("no-password");
337
 
            compare(greeter.waiting, true);
338
 
            tryCompare(greeter, "waiting", false);
339
 
        }
340
 
 
341
330
        function test_locked() {
342
331
            selectUser("has-password");
343
332
            compare(view.locked, true);
379
368
            compare(view.background, Qt.resolvedUrl("testing"));
380
369
        }
381
370
 
 
371
        function test_hasCustomBackground() {
 
372
            verify(!view.hasCustomBackground);
 
373
            greeter.hasCustomBackground = true;
 
374
            verify(view.hasCustomBackground);
 
375
        }
 
376
 
382
377
        function test_notifyAboutToFocusApp() {
383
378
            greeter.notifyUserRequestedApp("fake-app");
384
379
            compare(viewTryToUnlockSpy.count, 1);
570
565
 
571
566
            LightDM.Greeter.showGreeter();
572
567
            compare(viewResetSpy.count, 1);
 
568
            compare(viewResetSpy.signalArguments[0][0], true);
573
569
            tryCompare(viewShowPromptSpy, "count", 1);
574
570
        }
575
571
 
 
572
        function test_selectUserHint() {
 
573
            LightDM.Greeter.selectUser = "info-prompt";
 
574
            resetLoader();
 
575
            var i = verifySelected("info-prompt");
 
576
            verify(i != 0); // sanity-check that info-prompt isn't default 0 answer
 
577
        }
 
578
 
 
579
        function test_selectUserHintUnset() {
 
580
            LightDM.Greeter.selectUser = "";
 
581
            resetLoader();
 
582
            verifySelected(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
 
583
        }
 
584
 
 
585
        function test_selectUserHintInvalid() {
 
586
            LightDM.Greeter.selectUser = "not-a-real-user";
 
587
            resetLoader();
 
588
            verifySelected(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
 
589
        }
 
590
 
576
591
        function test_fingerprintSuccess() {
577
592
            var index = selectUser("has-password");
578
593
            unlockAndShowGreeter(); // turn on lockscreen mode