Commit 1c0623a1 authored by Rainhard Findling's avatar Rainhard Findling Committed by Commit Bot

Safety check UI: extend tests to cover left-hand icons

Bug: 1015841
Change-Id: I7d08cbad60569da8221d58835c59d6793d612208
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2139692
Commit-Queue: Rainhard Findling <rainhard@chromium.org>
Reviewed-by: default avatarEsmael Elmoslimany <aee@chromium.org>
Cr-Commit-Position: refs/heads/master@{#758543}
parent 490e6e9c
...@@ -84,6 +84,7 @@ ...@@ -84,6 +84,7 @@
opened="[[shouldShowChildren_(parentStatus_)]]"> opened="[[shouldShowChildren_(parentStatus_)]]">
<div class="settings-box two-line"> <div class="settings-box two-line">
<iron-icon icon="[[getUpdatesIcon_(updatesStatus_)]]" <iron-icon icon="[[getUpdatesIcon_(updatesStatus_)]]"
id="updatesIcon"
role="img" role="img"
aria-label="[[getUpdatesIconAriaLabel_(updatesStatus_)]]" aria-label="[[getUpdatesIconAriaLabel_(updatesStatus_)]]"
src="[[getUpdatesIconSrc_(updatesStatus_)]]" src="[[getUpdatesIconSrc_(updatesStatus_)]]"
...@@ -113,6 +114,7 @@ ...@@ -113,6 +114,7 @@
</div> </div>
<div class="settings-box two-line"> <div class="settings-box two-line">
<iron-icon icon="[[getPasswordsIcon_(passwordsStatus_)]]" <iron-icon icon="[[getPasswordsIcon_(passwordsStatus_)]]"
id="passwordsIcon"
src="[[getPasswordsIconSrc_(passwordsStatus_)]]" src="[[getPasswordsIconSrc_(passwordsStatus_)]]"
class$="[[getPasswordsIconClass_(passwordsStatus_)]]" class$="[[getPasswordsIconClass_(passwordsStatus_)]]"
role="img" role="img"
...@@ -136,6 +138,7 @@ ...@@ -136,6 +138,7 @@
</div> </div>
<div class="settings-box two-line"> <div class="settings-box two-line">
<iron-icon icon="[[getSafeBrowsingIcon_(safeBrowsingStatus_)]]" <iron-icon icon="[[getSafeBrowsingIcon_(safeBrowsingStatus_)]]"
id="safeBrowsingIcon"
src="[[getSafeBrowsingIconSrc_(safeBrowsingStatus_)]]" src="[[getSafeBrowsingIconSrc_(safeBrowsingStatus_)]]"
class$="[[getSafeBrowsingIconClass_(safeBrowsingStatus_)]]" class$="[[getSafeBrowsingIconClass_(safeBrowsingStatus_)]]"
role="img" role="img"
...@@ -166,6 +169,7 @@ ...@@ -166,6 +169,7 @@
</div> </div>
<div class="settings-box two-line"> <div class="settings-box two-line">
<iron-icon icon="[[getExtensionsIcon_(extensionsStatus_)]]" <iron-icon icon="[[getExtensionsIcon_(extensionsStatus_)]]"
id="extensionsIcon"
src="[[getExtensionsIconSrc_(extensionsStatus_)]]" src="[[getExtensionsIconSrc_(extensionsStatus_)]]"
class$="[[getExtensionsIconClass_(extensionsStatus_)]]" class$="[[getExtensionsIconClass_(extensionsStatus_)]]"
role="img" role="img"
......
...@@ -80,6 +80,31 @@ suite('SafetyCheckUiTests', function() { ...@@ -80,6 +80,31 @@ suite('SafetyCheckUiTests', function() {
cr.webUIListenerCallback( cr.webUIListenerCallback(
settings.SafetyCheckCallbackConstants.EXTENSIONS_CHANGED, event); settings.SafetyCheckCallbackConstants.EXTENSIONS_CHANGED, event);
} }
function assertIconStatusRunning(icon) {
assertTrue(icon.classList.contains('icon-blue'));
assertFalse(icon.classList.contains('icon-red'));
assertEquals('Running', icon.getAttribute('aria-label'));
}
function assertIconStatusSafe(icon) {
assertTrue(icon.classList.contains('icon-blue'));
assertFalse(icon.classList.contains('icon-red'));
assertEquals('Passed', icon.getAttribute('aria-label'));
}
function assertIconStatusInfo(icon) {
assertFalse(icon.classList.contains('icon-blue'));
assertFalse(icon.classList.contains('icon-red'));
assertEquals('Info', icon.getAttribute('aria-label'));
}
function assertIconStatusWarning(icon) {
assertFalse(icon.classList.contains('icon-blue'));
assertTrue(icon.classList.contains('icon-red'));
assertEquals('Warning', icon.getAttribute('aria-label'));
}
/** /**
* @return {!Promise} * @return {!Promise}
*/ */
...@@ -161,6 +186,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -161,6 +186,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckUpdatesButton')); assertFalse(!!page.$$('#safetyCheckUpdatesButton'));
assertFalse(!!page.$$('#safetyCheckUpdatesManagedIcon')); assertFalse(!!page.$$('#safetyCheckUpdatesManagedIcon'));
assertIconStatusRunning(page.$$('#updatesIcon'));
}); });
test('updatesUpdatedUiTest', function() { test('updatesUpdatedUiTest', function() {
...@@ -168,6 +194,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -168,6 +194,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckUpdatesButton')); assertFalse(!!page.$$('#safetyCheckUpdatesButton'));
assertFalse(!!page.$$('#safetyCheckUpdatesManagedIcon')); assertFalse(!!page.$$('#safetyCheckUpdatesManagedIcon'));
assertIconStatusSafe(page.$$('#updatesIcon'));
}); });
test('updatesUpdatingUiTest', function() { test('updatesUpdatingUiTest', function() {
...@@ -175,6 +202,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -175,6 +202,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckUpdatesButton')); assertFalse(!!page.$$('#safetyCheckUpdatesButton'));
assertFalse(!!page.$$('#safetyCheckUpdatesManagedIcon')); assertFalse(!!page.$$('#safetyCheckUpdatesManagedIcon'));
assertIconStatusRunning(page.$$('#updatesIcon'));
}); });
test('updatesRelaunchUiTest', async function() { test('updatesRelaunchUiTest', async function() {
...@@ -182,6 +210,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -182,6 +210,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertTrue(!!page.$$('#safetyCheckUpdatesButton')); assertTrue(!!page.$$('#safetyCheckUpdatesButton'));
assertFalse(!!page.$$('#safetyCheckUpdatesManagedIcon')); assertFalse(!!page.$$('#safetyCheckUpdatesManagedIcon'));
assertIconStatusInfo(page.$$('#updatesIcon'));
// User clicks the relaunch button. // User clicks the relaunch button.
page.$$('#safetyCheckUpdatesButton').click(); page.$$('#safetyCheckUpdatesButton').click();
...@@ -203,6 +232,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -203,6 +232,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckUpdatesButton')); assertFalse(!!page.$$('#safetyCheckUpdatesButton'));
assertTrue(!!page.$$('#safetyCheckUpdatesManagedIcon')); assertTrue(!!page.$$('#safetyCheckUpdatesManagedIcon'));
assertIconStatusInfo(page.$$('#updatesIcon'));
}); });
test('updatesFailedOfflineUiTest', function() { test('updatesFailedOfflineUiTest', function() {
...@@ -211,6 +241,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -211,6 +241,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckUpdatesButton')); assertFalse(!!page.$$('#safetyCheckUpdatesButton'));
assertFalse(!!page.$$('#safetyCheckUpdatesManagedIcon')); assertFalse(!!page.$$('#safetyCheckUpdatesManagedIcon'));
assertIconStatusInfo(page.$$('#updatesIcon'));
}); });
test('updatesFailedUiTest', function() { test('updatesFailedUiTest', function() {
...@@ -218,9 +249,10 @@ suite('SafetyCheckUiTests', function() { ...@@ -218,9 +249,10 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckUpdatesButton')); assertFalse(!!page.$$('#safetyCheckUpdatesButton'));
assertFalse(!!page.$$('#safetyCheckUpdatesManagedIcon')); assertFalse(!!page.$$('#safetyCheckUpdatesManagedIcon'));
assertIconStatusWarning(page.$$('#updatesIcon'));
}); });
test('passwordsButtonVisibilityUiTest', function() { test('passwordsUiTest', function() {
// Iterate over all states // Iterate over all states
for (const state of Object.values(settings.SafetyCheckPasswordsStatus)) { for (const state of Object.values(settings.SafetyCheckPasswordsStatus)) {
fireSafetyCheckPasswordsEvent(state); fireSafetyCheckPasswordsEvent(state);
...@@ -230,6 +262,28 @@ suite('SafetyCheckUiTests', function() { ...@@ -230,6 +262,28 @@ suite('SafetyCheckUiTests', function() {
assertEquals( assertEquals(
state === settings.SafetyCheckPasswordsStatus.COMPROMISED, state === settings.SafetyCheckPasswordsStatus.COMPROMISED,
!!page.$$('#safetyCheckPasswordsButton')); !!page.$$('#safetyCheckPasswordsButton'));
// Check that icon status is the correct one for this password status.
switch (state) {
case settings.SafetyCheckPasswordsStatus.CHECKING:
assertIconStatusRunning(page.$$('#passwordsIcon'));
break;
case settings.SafetyCheckPasswordsStatus.SAFE:
assertIconStatusSafe(page.$$('#passwordsIcon'));
break;
case settings.SafetyCheckPasswordsStatus.COMPROMISED:
assertIconStatusWarning(page.$$('#passwordsIcon'));
break;
case settings.SafetyCheckPasswordsStatus.OFFLINE:
case settings.SafetyCheckPasswordsStatus.NO_PASSWORDS:
case settings.SafetyCheckPasswordsStatus.SIGNED_OUT:
case settings.SafetyCheckPasswordsStatus.QUOTA_LIMIT:
case settings.SafetyCheckPasswordsStatus.ERROR:
assertIconStatusInfo(page.$$('#passwordsIcon'));
break;
default:
assertNotReached();
}
} }
}); });
...@@ -242,6 +296,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -242,6 +296,7 @@ suite('SafetyCheckUiTests', function() {
settings.SafetyCheckPasswordsStatus.COMPROMISED); settings.SafetyCheckPasswordsStatus.COMPROMISED);
Polymer.dom.flush(); Polymer.dom.flush();
assertTrue(!!page.$$('#safetyCheckPasswordsButton')); assertTrue(!!page.$$('#safetyCheckPasswordsButton'));
assertIconStatusWarning(page.$$('#passwordsIcon'));
// User clicks the manage passwords button. // User clicks the manage passwords button.
page.$$('#safetyCheckPasswordsButton').click(); page.$$('#safetyCheckPasswordsButton').click();
...@@ -271,6 +326,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -271,6 +326,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckSafeBrowsingButton')); assertFalse(!!page.$$('#safetyCheckSafeBrowsingButton'));
assertFalse(!!page.$$('#safetyCheckSafeBrowsingManagedIcon')); assertFalse(!!page.$$('#safetyCheckSafeBrowsingManagedIcon'));
assertIconStatusRunning(page.$$('#safeBrowsingIcon'));
}); });
test('safeBrowsingEnabledUiTest', function() { test('safeBrowsingEnabledUiTest', function() {
...@@ -279,6 +335,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -279,6 +335,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckSafeBrowsingButton')); assertFalse(!!page.$$('#safetyCheckSafeBrowsingButton'));
assertFalse(!!page.$$('#safetyCheckSafeBrowsingManagedIcon')); assertFalse(!!page.$$('#safetyCheckSafeBrowsingManagedIcon'));
assertIconStatusSafe(page.$$('#safeBrowsingIcon'));
}); });
test('safeBrowsingDisabledUiTest', async function() { test('safeBrowsingDisabledUiTest', async function() {
...@@ -287,6 +344,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -287,6 +344,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertTrue(!!page.$$('#safetyCheckSafeBrowsingButton')); assertTrue(!!page.$$('#safetyCheckSafeBrowsingButton'));
assertFalse(!!page.$$('#safetyCheckSafeBrowsingManagedIcon')); assertFalse(!!page.$$('#safetyCheckSafeBrowsingManagedIcon'));
assertIconStatusInfo(page.$$('#safeBrowsingIcon'));
// User clicks the manage safe browsing button. // User clicks the manage safe browsing button.
page.$$('#safetyCheckSafeBrowsingButton').click(); page.$$('#safetyCheckSafeBrowsingButton').click();
...@@ -310,6 +368,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -310,6 +368,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckSafeBrowsingButton')); assertFalse(!!page.$$('#safetyCheckSafeBrowsingButton'));
assertTrue(!!page.$$('#safetyCheckSafeBrowsingManagedIcon')); assertTrue(!!page.$$('#safetyCheckSafeBrowsingManagedIcon'));
assertIconStatusInfo(page.$$('#safeBrowsingIcon'));
}); });
test('safeBrowsingDisabledByExtensionUiTest', function() { test('safeBrowsingDisabledByExtensionUiTest', function() {
...@@ -318,6 +377,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -318,6 +377,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckSafeBrowsingButton')); assertFalse(!!page.$$('#safetyCheckSafeBrowsingButton'));
assertTrue(!!page.$$('#safetyCheckSafeBrowsingManagedIcon')); assertTrue(!!page.$$('#safetyCheckSafeBrowsingManagedIcon'));
assertIconStatusInfo(page.$$('#safeBrowsingIcon'));
}); });
test('extensionsCheckingUiTest', function() { test('extensionsCheckingUiTest', function() {
...@@ -326,6 +386,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -326,6 +386,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckExtensionsButton')); assertFalse(!!page.$$('#safetyCheckExtensionsButton'));
assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon')); assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon'));
assertIconStatusRunning(page.$$('#extensionsIcon'));
}); });
test('extensionsErrorUiTest', function() { test('extensionsErrorUiTest', function() {
...@@ -333,6 +394,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -333,6 +394,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckExtensionsButton')); assertFalse(!!page.$$('#safetyCheckExtensionsButton'));
assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon')); assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon'));
assertIconStatusInfo(page.$$('#extensionsIcon'));
}); });
test('extensionsSafeUiTest', function() { test('extensionsSafeUiTest', function() {
...@@ -341,6 +403,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -341,6 +403,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckExtensionsButton')); assertFalse(!!page.$$('#safetyCheckExtensionsButton'));
assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon')); assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon'));
assertIconStatusSafe(page.$$('#extensionsIcon'));
}); });
test('extensionsBlocklistedOffUiTest', function() { test('extensionsBlocklistedOffUiTest', function() {
...@@ -349,6 +412,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -349,6 +412,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertTrue(!!page.$$('#safetyCheckExtensionsButton')); assertTrue(!!page.$$('#safetyCheckExtensionsButton'));
assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon')); assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon'));
assertIconStatusSafe(page.$$('#extensionsIcon'));
return expectExtensionsButtonClickActions(); return expectExtensionsButtonClickActions();
}); });
...@@ -359,6 +423,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -359,6 +423,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertTrue(!!page.$$('#safetyCheckExtensionsButton')); assertTrue(!!page.$$('#safetyCheckExtensionsButton'));
assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon')); assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon'));
assertIconStatusWarning(page.$$('#extensionsIcon'));
return expectExtensionsButtonClickActions(); return expectExtensionsButtonClickActions();
}); });
...@@ -369,6 +434,7 @@ suite('SafetyCheckUiTests', function() { ...@@ -369,6 +434,7 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertTrue(!!page.$$('#safetyCheckExtensionsButton')); assertTrue(!!page.$$('#safetyCheckExtensionsButton'));
assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon')); assertFalse(!!page.$$('#safetyCheckExtensionsManagedIcon'));
assertIconStatusWarning(page.$$('#extensionsIcon'));
return expectExtensionsButtonClickActions(); return expectExtensionsButtonClickActions();
}); });
...@@ -379,5 +445,6 @@ suite('SafetyCheckUiTests', function() { ...@@ -379,5 +445,6 @@ suite('SafetyCheckUiTests', function() {
Polymer.dom.flush(); Polymer.dom.flush();
assertFalse(!!page.$$('#safetyCheckExtensionsButton')); assertFalse(!!page.$$('#safetyCheckExtensionsButton'));
assertTrue(!!page.$$('#safetyCheckExtensionsManagedIcon')); assertTrue(!!page.$$('#safetyCheckExtensionsManagedIcon'));
assertIconStatusInfo(page.$$('#extensionsIcon'));
}); });
}); });
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment