Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3243)

Unified Diff: chrome/test/data/webui/settings/quick_unlock_authenticate_browsertest_chromeos.js

Issue 2313103002: Added uma for pin unlock set up. (Closed)
Patch Set: Closure compiler fix. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/data/webui/settings/fake_quick_unlock_uma.js ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/webui/settings/quick_unlock_authenticate_browsertest_chromeos.js
diff --git a/chrome/test/data/webui/settings/quick_unlock_authenticate_browsertest_chromeos.js b/chrome/test/data/webui/settings/quick_unlock_authenticate_browsertest_chromeos.js
index a98564244923929a0f55c56f17c8d1d5ad7d7892..67d62ec907524bc94e66cba33b98a2a9b8c70ae0 100644
--- a/chrome/test/data/webui/settings/quick_unlock_authenticate_browsertest_chromeos.js
+++ b/chrome/test/data/webui/settings/quick_unlock_authenticate_browsertest_chromeos.js
@@ -6,6 +6,7 @@ cr.define('settings_people_page_quick_unlock', function() {
var element = null;
var quickUnlockPrivateApi = null;
var QuickUnlockMode = chrome.quickUnlockPrivate.QuickUnlockMode;
+ var fakeUma = null;
/**
* Returns if the element is visible.
@@ -61,9 +62,11 @@ cr.define('settings_people_page_quick_unlock', function() {
PolymerTest.clearBody();
quickUnlockPrivateApi = new settings.FakeQuickUnlockPrivate();
+ fakeUma = new settings.FakeQuickUnlockUma();
element = document.createElement('settings-password-prompt-dialog');
element.quickUnlockPrivate_ = quickUnlockPrivateApi;
+ element.writeUma_ = fakeUma.recordProgress.bind(fakeUma);
document.body.appendChild(element);
passwordElement = getFromElement('#passwordInput');
@@ -86,23 +89,29 @@ cr.define('settings_people_page_quick_unlock', function() {
assertDeepEquals([''], quickUnlockPrivateApi.credentials);
});
- // A bad password does not provide an authenticated setModes object.
+ // A bad password does not provide an authenticated setModes object, and a
+ // entered password correctly uma should not be recorded.
test('InvalidPasswordDoesNotProvideAuthentication', function() {
quickUnlockPrivateApi.accountPassword = 'bar';
passwordElement.value = 'foo';
element.submitPassword_();
+ assertEquals(0, fakeUma.getHistogramValue(
+ LockScreenProgress.ENTER_PASSWORD_CORRECTLY));
assertFalse(!!element.setModes);
});
- // A valid password provides an authenticated setModes object.
+ // A valid password provides an authenticated setModes object, and a
+ // entered password correctly uma should be recorded.
test('ValidPasswordProvidesAuthentication', function() {
quickUnlockPrivateApi.accountPassword = 'foo';
passwordElement.value = 'foo';
element.submitPassword_();
+ assertEquals(1, fakeUma.getHistogramValue(
+ LockScreenProgress.ENTER_PASSWORD_CORRECTLY));
assertTrue(!!element.setModes);
});
@@ -198,6 +207,7 @@ cr.define('settings_people_page_quick_unlock', function() {
value: true
}];
fakeSettings = new settings.FakeSettingsPrivate(fakePrefs);
+ fakeUma = new settings.FakeQuickUnlockUma();
setLockScreenPref(true);
var prefElement = document.createElement('settings-prefs');
prefElement.initialize(fakeSettings);
@@ -215,6 +225,7 @@ cr.define('settings_people_page_quick_unlock', function() {
element.settingsPrivate_ = fakeSettings;
element.quickUnlockPrivate_ = quickUnlockPrivateApi;
element.prefs = prefElement.prefs;
+ element.writeUma_ = fakeUma.recordProgress.bind(fakeUma);
document.body.appendChild(element);
Polymer.dom.flush();
@@ -285,8 +296,11 @@ cr.define('settings_people_page_quick_unlock', function() {
assertDeepEquals([], quickUnlockPrivateApi.activeModes);
});
- // Tapping the PIN configure button opens up the setup PIN dialog.
+ // Tapping the PIN configure button opens up the setup PIN dialog, and
+ // records a chose pin or password uma.
test('TappingConfigureOpensSetupPin', function() {
+ assertEquals(0, fakeUma.getHistogramValue(
+ LockScreenProgress.CHOOSE_PIN_OR_PASSWORD));
assertRadioButtonActive(passwordRadioButton);
MockInteractions.tap(pinPasswordRadioButton);
@@ -296,6 +310,8 @@ cr.define('settings_people_page_quick_unlock', function() {
MockInteractions.tap(configureButton);
var setupPinDialog = getFromElement('#setupPin');
assertTrue(setupPinDialog.$.dialog.open);
+ assertEquals(1, fakeUma.getHistogramValue(
+ LockScreenProgress.CHOOSE_PIN_OR_PASSWORD));
});
});
}
@@ -317,11 +333,13 @@ cr.define('settings_people_page_quick_unlock', function() {
PolymerTest.clearBody();
quickUnlockPrivateApi = new settings.FakeQuickUnlockPrivate();
+ fakeUma = new settings.FakeQuickUnlockUma();
// Create setup-pin element.
element = document.createElement('settings-setup-pin-dialog');
element.setModes =
quickUnlockPrivateApi.setModes.bind(quickUnlockPrivateApi, '');
+ element.writeUma_ = fakeUma.recordProgress.bind(fakeUma);
document.body.appendChild(element);
Polymer.dom.flush();
@@ -438,14 +456,24 @@ cr.define('settings_people_page_quick_unlock', function() {
});
// Completing the flow results in a call to the quick unlock private API.
+ // Check that uma stats are called as expected.
test('SubmittingPinCallsQuickUnlockApi', function() {
// Entering the same (even weak) pin twice calls the quick unlock API
// and sets up a PIN.
+ assertEquals(0, fakeUma.getHistogramValue(
+ LockScreenProgress.ENTER_PIN));
+ assertEquals(0, fakeUma.getHistogramValue(
+ LockScreenProgress.CONFIRM_PIN));
pinKeyboard.value = '1111';
MockInteractions.tap(continueButton);
+ assertEquals(1, fakeUma.getHistogramValue(
+ LockScreenProgress.ENTER_PIN));
+
pinKeyboard.value = '1111';
MockInteractions.tap(continueButton);
+ assertEquals(1, fakeUma.getHistogramValue(
+ LockScreenProgress.CONFIRM_PIN));
assertDeepEquals(['PIN'], quickUnlockPrivateApi.activeModes);
assertDeepEquals(['1111'], quickUnlockPrivateApi.credentials);
});
« no previous file with comments | « chrome/test/data/webui/settings/fake_quick_unlock_uma.js ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698