diff --git a/src/domains.js b/src/domains.js index 59c0c0659..779133563 100644 --- a/src/domains.js +++ b/src/domains.js @@ -201,16 +201,10 @@ async function list() { results.forEach(postProcess); - // domains are alphabetically sorted with the dashboard domain at index 0 const { domain:dashboardDomain } = await dashboard.getLocation(); - const index = results.findIndex((d) => d.domain === dashboardDomain ); - if (index !== -1) { - const elem = results[index]; - results.splice(index, 1); - results.unshift(elem); - } - - return results; + return results.sort((d1, d2) => { // domains are alphabetically sorted with the dashboard domain at index 0 + return d1.domain === dashboardDomain ? -1 : (d2.domain === dashboardDomain ? 1: d1.domain.localeCompare(d2.domain)); + }); } async function setConfig(domain, data, auditSource) { diff --git a/src/routes/test/domains-test.js b/src/routes/test/domains-test.js index d60835dd6..937688a60 100644 --- a/src/routes/test/domains-test.js +++ b/src/routes/test/domains-test.js @@ -137,9 +137,9 @@ describe('Domains API', function () { expect(response.body.domains).to.be.an(Array); expect(response.body.domains.length).to.equal(3); - expect(response.body.domains[0].domain).to.equal(DOMAIN_0.domain); - expect(response.body.domains[1].domain).to.equal(DOMAIN_1.domain); - expect(response.body.domains[2].domain).to.equal(dashboardDomain); + expect(response.body.domains[0].domain).to.equal(dashboardDomain); + expect(response.body.domains[1].domain).to.equal(DOMAIN_0.domain); + expect(response.body.domains[2].domain).to.equal(DOMAIN_1.domain); for (const d of response.body.domains) { expect(d.tlsConfig).to.be.an('object'); @@ -158,9 +158,9 @@ describe('Domains API', function () { expect(response.body.domains).to.be.an(Array); expect(response.body.domains.length).to.equal(3); - expect(response.body.domains[0].domain).to.equal(DOMAIN_0.domain); - expect(response.body.domains[1].domain).to.equal(DOMAIN_1.domain); - expect(response.body.domains[2].domain).to.equal(dashboardDomain); + expect(response.body.domains[0].domain).to.equal(dashboardDomain); + expect(response.body.domains[1].domain).to.equal(DOMAIN_0.domain); + expect(response.body.domains[2].domain).to.equal(DOMAIN_1.domain); for (const d of response.body.domains) { expect(d.tlsConfig).to.be.an('object');