convert done() to async/await

These files only had one or two instances each,
so I lumped them together.

Change-Id: I18741e94f9e43b0110bd3f408486200930c20222
diff --git a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.js b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.js
index 97a7fa3..7182ede 100644
--- a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.js
@@ -423,7 +423,7 @@
             1);
       });
 
-      test('edit section reference', done => {
+      test('edit section reference', async () => {
         element.canUpload = true;
         element.ownerOf = [];
         element.section = {id: 'refs/for/bar', value: {permissions: {}}};
@@ -433,15 +433,13 @@
         assert.isFalse(element._editingRef);
         MockInteractions.tap(element.$.editBtn);
         element.editRefInput().bindValue='new/ref';
-        setTimeout(() => {
-          assert.equal(element.section.id, 'new/ref');
-          assert.isTrue(element._editingRef);
-          assert.isTrue(element.$.section.classList.contains('editingRef'));
-          element.editing = false;
-          assert.isFalse(element._editingRef);
-          assert.equal(element.section.id, 'refs/for/bar');
-          done();
-        });
+        await flush();
+        assert.equal(element.section.id, 'new/ref');
+        assert.isTrue(element._editingRef);
+        assert.isTrue(element.$.section.classList.contains('editingRef'));
+        element.editing = false;
+        assert.isFalse(element._editingRef);
+        assert.equal(element.section.id, 'refs/for/bar');
       });
 
       test('_handleValueChange', () => {
diff --git a/polygerrit-ui/app/elements/admin/gr-admin-group-list/gr-admin-group-list_test.js b/polygerrit-ui/app/elements/admin/gr-admin-group-list/gr-admin-group-list_test.js
index 2df1ac6..7b7b959 100644
--- a/polygerrit-ui/app/elements/admin/gr-admin-group-list/gr-admin-group-list_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-admin-group-list/gr-admin-group-list_test.js
@@ -104,10 +104,11 @@
   });
 
   suite('test with less then 25 groups', () => {
-    setup(done => {
+    setup(async () => {
       groups = _.times(25, groupGenerator);
       stubRestApi('getGroups').returns(Promise.resolve(groups));
-      element._paramsChanged(value).then(() => { flush(done); });
+      await element._paramsChanged(value);
+      await flush();
     });
 
     test('_shownGroups', () => {
diff --git a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.js b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.js
index 69c218c..8ed72fe 100644
--- a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.js
@@ -20,7 +20,7 @@
 import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GerritNav} from '../../core/gr-navigation/gr-navigation.js';
 import {getPluginLoader} from '../../shared/gr-js-api-interface/gr-plugin-loader.js';
-import {stubBaseUrl, stubRestApi} from '../../../test/test-utils.js';
+import {mockPromise, stubBaseUrl, stubRestApi} from '../../../test/test-utils.js';
 import {GerritView} from '../../../services/router/router-model.js';
 
 const basicFixture = fixtureFromElement('gr-admin-view');
@@ -36,12 +36,13 @@
 suite('gr-admin-view tests', () => {
   let element;
 
-  setup(done => {
+  setup(async () => {
     element = basicFixture.instantiate();
     stubRestApi('getProjectConfig').returns(Promise.resolve({}));
     const pluginsLoaded = Promise.resolve();
     sinon.stub(getPluginLoader(), 'awaitPluginsLoaded').returns(pluginsLoaded);
-    pluginsLoaded.then(() => flush(done));
+    await pluginsLoaded;
+    await flush();
   });
 
   test('_computeURLHelper', () => {
@@ -87,25 +88,23 @@
         .querySelector('gr-admin-create-repo'));
   });
 
-  test('_filteredLinks admin', done => {
+  test('_filteredLinks admin', async () => {
     stubRestApi('getAccount').returns(Promise.resolve({
       name: 'test-user',
     }));
     stubRestApi('getAccountCapabilities').returns(
         Promise.resolve(createAdminCapabilities()));
-    element.reload().then(() => {
-      assert.equal(element._filteredLinks.length, 3);
+    await element.reload();
+    assert.equal(element._filteredLinks.length, 3);
 
-      // Repos
-      assert.isNotOk(element._filteredLinks[0].subsection);
+    // Repos
+    assert.isNotOk(element._filteredLinks[0].subsection);
 
-      // Groups
-      assert.isNotOk(element._filteredLinks[0].subsection);
+    // Groups
+    assert.isNotOk(element._filteredLinks[0].subsection);
 
-      // Plugins
-      assert.isNotOk(element._filteredLinks[0].subsection);
-      done();
-    });
+    // Plugins
+    assert.isNotOk(element._filteredLinks[0].subsection);
   });
 
   test('_filteredLinks non admin authenticated', async () => {
@@ -154,25 +153,23 @@
     });
   });
 
-  test('Repo shows up in nav', done => {
+  test('Repo shows up in nav', async () => {
     element._repoName = 'Test Repo';
     stubRestApi('getAccount').returns(Promise.resolve({
       name: 'test-user',
     }));
     stubRestApi('getAccountCapabilities').returns(
         Promise.resolve(createAdminCapabilities()));
-    element.reload().then(() => {
-      flush();
-      assert.equal(dom(element.root)
-          .querySelectorAll('.sectionTitle').length, 3);
-      assert.equal(element.shadowRoot
-          .querySelector('.breadcrumbText').innerText, 'Test Repo');
-      assert.equal(
-          element.shadowRoot.querySelector('#pageSelect').items.length,
-          6
-      );
-      done();
-    });
+    await element.reload();
+    await flush();
+    assert.equal(dom(element.root)
+        .querySelectorAll('.sectionTitle').length, 3);
+    assert.equal(element.shadowRoot
+        .querySelector('.breadcrumbText').innerText, 'Test Repo');
+    assert.equal(
+        element.shadowRoot.querySelector('#pageSelect').items.length,
+        6
+    );
   });
 
   test('Group shows up in nav', async () => {
@@ -218,23 +215,24 @@
     assert.equal(element.reload.callCount, 1);
   });
 
-  test('Nav is reloaded when group name changes', done => {
+  test('Nav is reloaded when group name changes', async () => {
     const newName = 'newName';
+    const reloadCalled = mockPromise();
     sinon.stub(element, '_computeGroupName');
     sinon.stub(element, 'reload').callsFake(() => {
       assert.equal(element._groupName, newName);
-      assert.isTrue(element.reload.called);
-      done();
+      reloadCalled.resolve();
     });
     element.params = {group: 1, view: GerritNav.View.GROUP};
     element._groupName = 'oldName';
-    flush();
+    await flush();
     element.shadowRoot
         .querySelector('gr-group').dispatchEvent(
             new CustomEvent('name-changed', {
               detail: {name: newName},
               composed: true, bubbles: true,
             }));
+    await reloadCalled;
   });
 
   test('dropdown displays if there is a subsection', () => {
@@ -261,7 +259,7 @@
         'none');
   });
 
-  test('Dropdown only triggers navigation on explicit select', done => {
+  test('Dropdown only triggers navigation on explicit select', async () => {
     element._repoName = 'my-repo';
     element.params = {
       repo: 'my-repo',
@@ -271,7 +269,7 @@
     stubRestApi('getAccountCapabilities').returns(
         Promise.resolve(createAdminCapabilities()));
     stubRestApi('getAccount').returns(Promise.resolve({_id: 1}));
-    flush();
+    await flush();
     const expectedFilteredLinks = [
       {
         name: 'Repositories',
@@ -386,23 +384,21 @@
     sinon.stub(GerritNav, 'navigateToRelativeUrl');
     sinon.spy(element, '_selectedIsCurrentPage');
     sinon.spy(element, '_handleSubsectionChange');
-    element.reload().then(() => {
-      assert.deepEqual(element._filteredLinks, expectedFilteredLinks);
-      assert.deepEqual(element._subsectionLinks, expectedSubsectionLinks);
-      assert.equal(
-          element.shadowRoot.querySelector('#pageSelect').value,
-          'repoaccess'
-      );
-      assert.isTrue(element._selectedIsCurrentPage.calledOnce);
-      // Doesn't trigger navigation from the page select menu.
-      assert.isFalse(GerritNav.navigateToRelativeUrl.called);
+    await element.reload();
+    assert.deepEqual(element._filteredLinks, expectedFilteredLinks);
+    assert.deepEqual(element._subsectionLinks, expectedSubsectionLinks);
+    assert.equal(
+        element.shadowRoot.querySelector('#pageSelect').value,
+        'repoaccess'
+    );
+    assert.isTrue(element._selectedIsCurrentPage.calledOnce);
+    // Doesn't trigger navigation from the page select menu.
+    assert.isFalse(GerritNav.navigateToRelativeUrl.called);
 
-      // When explicitly changed, navigation is called
-      element.shadowRoot.querySelector('#pageSelect').value = 'repo';
-      assert.isTrue(element._selectedIsCurrentPage.calledTwice);
-      assert.isTrue(GerritNav.navigateToRelativeUrl.calledOnce);
-      done();
-    });
+    // When explicitly changed, navigation is called
+    element.shadowRoot.querySelector('#pageSelect').value = 'repo';
+    assert.isTrue(element._selectedIsCurrentPage.calledTwice);
+    assert.isTrue(GerritNav.navigateToRelativeUrl.calledOnce);
   });
 
   test('_selectedIsCurrentPage', () => {
diff --git a/polygerrit-ui/app/elements/admin/gr-create-repo-dialog/gr-create-repo-dialog_test.js b/polygerrit-ui/app/elements/admin/gr-create-repo-dialog/gr-create-repo-dialog_test.js
index e6f9bbe..f1babee 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-repo-dialog/gr-create-repo-dialog_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-create-repo-dialog/gr-create-repo-dialog_test.js
@@ -33,7 +33,7 @@
     assert.isFalse(element.$.parentRepo.bindValue);
   });
 
-  test('repo created', done => {
+  test('repo created', async () => {
     const configInputObj = {
       name: 'test-repo',
       create_empty_commit: true,
@@ -67,16 +67,14 @@
 
     assert.deepEqual(element._repoConfig, configInputObj);
 
-    element.handleCreateRepo().then(() => {
-      assert.isTrue(saveStub.lastCall.calledWithExactly(
-          {
-            ...configInputObj,
-            owners: ['testId'],
-            branches: ['main'],
-          }
-      ));
-      done();
-    });
+    await element.handleCreateRepo();
+    assert.isTrue(saveStub.lastCall.calledWithExactly(
+        {
+          ...configInputObj,
+          owners: ['testId'],
+          branches: ['main'],
+        }
+    ));
   });
 });
 
diff --git a/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log_test.js b/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log_test.js
index fdd5d15..a00b8142 100644
--- a/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log_test.js
@@ -17,7 +17,7 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-group-audit-log.js';
-import {stubRestApi, addListenerForTest} from '../../../test/test-utils.js';
+import {stubRestApi, addListenerForTest, mockPromise} from '../../../test/test-utils.js';
 
 const basicFixture = fixtureFromElement('gr-group-audit-log');
 
@@ -76,20 +76,24 @@
   });
 
   suite('404', () => {
-    test('fires page-error', done => {
+    test('fires page-error', async () => {
       element.groupId = 1;
+      await flush();
 
       const response = {status: 404};
       stubRestApi('getGroupAuditLog').callsFake((group, errFn) => {
         errFn(response);
+        return Promise.resolve(undefined);
       });
 
+      const pageErrorCalled = mockPromise();
       addListenerForTest(document, 'page-error', e => {
         assert.deepEqual(e.detail.response, response);
-        done();
+        pageErrorCalled.resolve();
       });
 
       element._getAuditLogs();
+      await pageErrorCalled;
     });
   });
 });
diff --git a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission_test.js b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission_test.js
index d5668d8..ab6a414 100644
--- a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission_test.js
@@ -187,35 +187,31 @@
           groupsWithRules);
     });
 
-    test('_getGroupSuggestions without existing rules', done => {
+    test('_getGroupSuggestions without existing rules', async () => {
       element._groupsWithRules = {};
 
-      element._getGroupSuggestions().then(groups => {
-        assert.deepEqual(groups, [
-          {
-            name: 'Administrators',
-            value: '4c97682e6ce61b7247f3381b6f1789356666de7f',
-          }, {
-            name: 'Anonymous Users',
-            value: 'global%3AAnonymous-Users',
-          },
-        ]);
-        done();
-      });
+      const groups = await element._getGroupSuggestions();
+      assert.deepEqual(groups, [
+        {
+          name: 'Administrators',
+          value: '4c97682e6ce61b7247f3381b6f1789356666de7f',
+        }, {
+          name: 'Anonymous Users',
+          value: 'global%3AAnonymous-Users',
+        },
+      ]);
     });
 
-    test('_getGroupSuggestions with existing rules filters them', done => {
+    test('_getGroupSuggestions with existing rules filters them', async () => {
       element._groupsWithRules = {
         '4c97682e6ce61b7247f3381b6f1789356666de7f': true,
       };
 
-      element._getGroupSuggestions().then(groups => {
-        assert.deepEqual(groups, [{
-          name: 'Anonymous Users',
-          value: 'global%3AAnonymous-Users',
-        }]);
-        done();
-      });
+      const groups = await element._getGroupSuggestions();
+      assert.deepEqual(groups, [{
+        name: 'Anonymous Users',
+        value: 'global%3AAnonymous-Users',
+      }]);
     });
 
     test('_handleRemovePermission', () => {
diff --git a/polygerrit-ui/app/elements/admin/gr-repo/gr-repo_test.js b/polygerrit-ui/app/elements/admin/gr-repo/gr-repo_test.js
index c299b55..89ad86e 100644
--- a/polygerrit-ui/app/elements/admin/gr-repo/gr-repo_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-repo/gr-repo_test.js
@@ -17,6 +17,7 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-repo.js';
+import {mockPromise} from '../../../test/test-utils.js';
 import {PolymerElement} from '@polymer/polymer/polymer-element.js';
 import {addListenerForTest, stubRestApi} from '../../../test/test-utils.js';
 
@@ -226,21 +227,24 @@
     ]);
   });
 
-  test('fires page-error', done => {
+  test('fires page-error', async () => {
     repoStub.restore();
 
     element.repo = 'test';
 
+    const pageErrorFired = mockPromise();
     const response = {status: 404};
     stubRestApi('getProjectConfig').callsFake((repo, errFn) => {
       errFn(response);
+      return Promise.resolve(undefined);
     });
     addListenerForTest(document, 'page-error', e => {
       assert.deepEqual(e.detail.response, response);
-      done();
+      pageErrorFired.resolve();
     });
 
     element._loadRepo();
+    await pageErrorFired;
   });
 
   suite('admin', () => {
diff --git a/polygerrit-ui/app/elements/change/gr-label-scores/gr-label-scores_test.js b/polygerrit-ui/app/elements/change/gr-label-scores/gr-label-scores_test.js
index ef123c9..2335307 100644
--- a/polygerrit-ui/app/elements/change/gr-label-scores/gr-label-scores_test.js
+++ b/polygerrit-ui/app/elements/change/gr-label-scores/gr-label-scores_test.js
@@ -24,7 +24,7 @@
 suite('gr-label-scores tests', () => {
   let element;
 
-  setup(done => {
+  setup(async () => {
     stubRestApi('getLoggedIn').returns(Promise.resolve(false));
     element = basicFixture.instantiate();
     element.change = {
@@ -81,7 +81,7 @@
         '+1',
       ],
     };
-    flush(done);
+    await flush();
   });
 
   test('get and set label scores', () => {
diff --git a/polygerrit-ui/app/elements/custom-dark-theme_test.js b/polygerrit-ui/app/elements/custom-dark-theme_test.js
index 97a2750..768a461 100644
--- a/polygerrit-ui/app/elements/custom-dark-theme_test.js
+++ b/polygerrit-ui/app/elements/custom-dark-theme_test.js
@@ -25,13 +25,13 @@
 
 suite('gr-app custom dark theme tests', () => {
   let element;
-  setup(done => {
+  setup(async () => {
     window.localStorage.setItem('dark-theme', 'true');
 
     element = basicFixture.instantiate();
     getPluginLoader().loadPlugins([]);
-    getPluginLoader().awaitPluginsLoaded()
-        .then(() => flush(done));
+    await getPluginLoader().awaitPluginsLoaded();
+    await flush();
   });
 
   teardown(() => {
diff --git a/polygerrit-ui/app/elements/custom-light-theme_test.js b/polygerrit-ui/app/elements/custom-light-theme_test.js
index 35bc3a6..c6e9642 100644
--- a/polygerrit-ui/app/elements/custom-light-theme_test.js
+++ b/polygerrit-ui/app/elements/custom-light-theme_test.js
@@ -25,7 +25,7 @@
 
 suite('gr-app custom light theme tests', () => {
   let element;
-  setup(done => {
+  setup(async () => {
     window.localStorage.removeItem('dark-theme');
     stubRestApi('getConfig').returns(Promise.resolve({test: 'config'}));
     stubRestApi('getAccount').returns(Promise.resolve({}));
@@ -34,8 +34,8 @@
     stubRestApi('getDiffDrafts').returns(Promise.resolve({}));
     element = basicFixture.instantiate();
     getPluginLoader().loadPlugins([]);
-    getPluginLoader().awaitPluginsLoaded()
-        .then(() => flush(done));
+    await getPluginLoader().awaitPluginsLoaded();
+    await flush();
   });
   teardown(() => {
     // The app sends requests to server. This can lead to
diff --git a/polygerrit-ui/app/elements/gr-app_test.js b/polygerrit-ui/app/elements/gr-app_test.js
index 8178c89..5a3b1f2 100644
--- a/polygerrit-ui/app/elements/gr-app_test.js
+++ b/polygerrit-ui/app/elements/gr-app_test.js
@@ -28,7 +28,7 @@
   let element;
   let configStub;
 
-  setup(done => {
+  setup(async () => {
     sinon.stub(appContext.reportingService, 'appStarted');
     stub('gr-account-dropdown', '_getTopContent');
     stub('gr-router', 'start');
@@ -45,7 +45,7 @@
     stubRestApi('probePath').returns(Promise.resolve(42));
 
     element = basicFixture.instantiate();
-    flush(done);
+    await flush();
   });
 
   const appElement = () => element.$['app-element'];
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-actions-js-api.ts b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-actions-js-api.ts
index b9c4c32..9a56f2a 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-actions-js-api.ts
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-actions-js-api.ts
@@ -80,7 +80,7 @@
    */
   private setEl(el?: GrChangeActionsElement) {
     if (!el) {
-      this.reporting.error(new Error(`changeActions() API is not ready`));
+      this.reporting.error(new Error('changeActions() API is not ready'));
       return;
     }
     this.el = el;
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-public-js-api.ts b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-public-js-api.ts
index cfa6c04..fef471d 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-public-js-api.ts
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-public-js-api.ts
@@ -81,7 +81,7 @@
     if (!url) {
       this.report.error(
         new Error(
-          `Plugin not being loaded from /plugins base path. Unable to determine name.`
+          'Plugin not being loaded from /plugins base path. Unable to determine name.'
         )
       );
       return this;