From 38ca8db82a0919deb522a13ba6b318d1049162b8 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Sat, 22 Jan 2022 22:35:14 +0100 Subject: [PATCH] Adjust error page titles --- app/routes/crate.js | 10 +++++++--- app/routes/crate/version.js | 6 ++++-- tests/acceptance/crate-test.js | 8 ++++---- tests/routes/crate/range-test.js | 4 ++-- tests/routes/crate/version/model-test.js | 2 +- 5 files changed, 18 insertions(+), 12 deletions(-) diff --git a/app/routes/crate.js b/app/routes/crate.js index 9e26aae14be..18953954168 100644 --- a/app/routes/crate.js +++ b/app/routes/crate.js @@ -7,13 +7,17 @@ export default class CrateRoute extends Route { @service store; async model(params, transition) { + let crateName = params.crate_id; + try { - return await this.store.find('crate', params.crate_id); + return await this.store.find('crate', crateName); } catch (error) { if (error.errors?.some(e => e.detail === 'Not Found')) { - this.router.replaceWith('catch-all', { transition, error, title: 'Crate not found' }); + let title = `${crateName}: Crate not found`; + this.router.replaceWith('catch-all', { transition, error, title }); } else { - this.router.replaceWith('catch-all', { transition, error, title: 'Crate failed to load', tryAgain: true }); + let title = `${crateName}: Failed to load crate data`; + this.router.replaceWith('catch-all', { transition, error, title, tryAgain: true }); } } } diff --git a/app/routes/crate/version.js b/app/routes/crate/version.js index b0044ddf48b..51040fe4912 100644 --- a/app/routes/crate/version.js +++ b/app/routes/crate/version.js @@ -16,7 +16,8 @@ export default class VersionRoute extends Route { try { versions = await crate.get('versions'); } catch (error) { - return this.router.replaceWith('catch-all', { transition, error, title: 'Crate failed to load', tryAgain: true }); + let title = `${crate.name}: Failed to load version data`; + return this.router.replaceWith('catch-all', { transition, error, title, tryAgain: true }); } let version; @@ -24,7 +25,8 @@ export default class VersionRoute extends Route { if (requestedVersion) { version = versions.find(version => version.num === requestedVersion); if (!version) { - return this.router.replaceWith('catch-all', { transition, title: 'Version not found' }); + let title = `${crate.name}: Version ${requestedVersion} not found`; + return this.router.replaceWith('catch-all', { transition, title }); } } else { let { defaultVersion } = crate; diff --git a/tests/acceptance/crate-test.js b/tests/acceptance/crate-test.js index e01771977ab..05ba11a4695 100644 --- a/tests/acceptance/crate-test.js +++ b/tests/acceptance/crate-test.js @@ -85,7 +85,7 @@ module('Acceptance | crate page', function (hooks) { await visit('/crates/nanomsg'); assert.equal(currentURL(), '/crates/nanomsg'); assert.dom('[data-test-404-page]').exists(); - assert.dom('[data-test-title]').hasText('Crate not found'); + assert.dom('[data-test-title]').hasText('nanomsg: Crate not found'); assert.dom('[data-test-go-back]').exists(); assert.dom('[data-test-try-again]').doesNotExist(); }); @@ -96,7 +96,7 @@ module('Acceptance | crate page', function (hooks) { await visit('/crates/nanomsg'); assert.equal(currentURL(), '/crates/nanomsg'); assert.dom('[data-test-404-page]').exists(); - assert.dom('[data-test-title]').hasText('Crate failed to load'); + assert.dom('[data-test-title]').hasText('nanomsg: Failed to load crate data'); assert.dom('[data-test-go-back]').doesNotExist(); assert.dom('[data-test-try-again]').exists(); }); @@ -110,7 +110,7 @@ module('Acceptance | crate page', function (hooks) { assert.equal(currentURL(), '/crates/nanomsg/0.7.0'); assert.dom('[data-test-404-page]').exists(); - assert.dom('[data-test-title]').hasText('Version not found'); + assert.dom('[data-test-title]').hasText('nanomsg: Version 0.7.0 not found'); assert.dom('[data-test-go-back]').exists(); assert.dom('[data-test-try-again]').doesNotExist(); }); @@ -126,7 +126,7 @@ module('Acceptance | crate page', function (hooks) { await click('[data-test-just-updated] [data-test-crate-link="0"]'); assert.equal(currentURL(), '/crates/nanomsg'); assert.dom('[data-test-404-page]').exists(); - assert.dom('[data-test-title]').hasText('Crate failed to load'); + assert.dom('[data-test-title]').hasText('nanomsg: Failed to load version data'); assert.dom('[data-test-go-back]').doesNotExist(); assert.dom('[data-test-try-again]').exists(); }); diff --git a/tests/routes/crate/range-test.js b/tests/routes/crate/range-test.js index 6d7ab87ffe4..0ab1a012686 100644 --- a/tests/routes/crate/range-test.js +++ b/tests/routes/crate/range-test.js @@ -82,7 +82,7 @@ module('Route | crate.range', function (hooks) { await visit('/crates/foo/range/^3'); assert.equal(currentURL(), '/crates/foo/range/%5E3'); assert.dom('[data-test-404-page]').exists(); - assert.dom('[data-test-title]').hasText('Crate not found'); + assert.dom('[data-test-title]').hasText('foo: Crate not found'); assert.dom('[data-test-go-back]').exists(); assert.dom('[data-test-try-again]').doesNotExist(); }); @@ -93,7 +93,7 @@ module('Route | crate.range', function (hooks) { await visit('/crates/foo/range/^3'); assert.equal(currentURL(), '/crates/foo/range/%5E3'); assert.dom('[data-test-404-page]').exists(); - assert.dom('[data-test-title]').hasText('Crate failed to load'); + assert.dom('[data-test-title]').hasText('foo: Failed to load crate data'); assert.dom('[data-test-go-back]').doesNotExist(); assert.dom('[data-test-try-again]').exists(); }); diff --git a/tests/routes/crate/version/model-test.js b/tests/routes/crate/version/model-test.js index c3add8c8c47..08ba3a92844 100644 --- a/tests/routes/crate/version/model-test.js +++ b/tests/routes/crate/version/model-test.js @@ -31,7 +31,7 @@ module('Route | crate.version | model() hook', function (hooks) { await visit('/crates/foo/2.0.0'); assert.equal(currentURL(), `/crates/foo/2.0.0`); assert.dom('[data-test-404-page]').exists(); - assert.dom('[data-test-title]').hasText('Version not found'); + assert.dom('[data-test-title]').hasText('foo: Version 2.0.0 not found'); assert.dom('[data-test-go-back]').exists(); assert.dom('[data-test-try-again]').doesNotExist(); });