From 945cb3f03eb6d2cbf9f9310c5c61a2fa2d84c467 Mon Sep 17 00:00:00 2001 From: Michael Lange Date: Fri, 29 Sep 2017 19:20:28 -0700 Subject: [PATCH] Empty states for servers --- ui/app/templates/servers.hbs | 13 ++++++++++++- ui/tests/acceptance/nodes-list-test.js | 21 +++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/ui/app/templates/servers.hbs b/ui/app/templates/servers.hbs index e4d12d28b..3244a306e 100644 --- a/ui/app/templates/servers.hbs +++ b/ui/app/templates/servers.hbs @@ -1,6 +1,6 @@
{{#global-header class="page-header"}} - Nodes + Servers {{/global-header}} {{#gutter-menu class="page-body"}}
@@ -35,6 +35,17 @@
    + {{else}} +
    +

    Invalid Permissions

    +

    + {{#if token.secret}} + Your ACL token does not grant access to see servers. + {{else}} + You have no ACL token set. {{#link-to "settings.tokens"}}Provide a token{{/link-to}} with the appropriate permissions to see servers. + {{/if}} +

    +
    {{/list-pagination}} {{outlet}} diff --git a/ui/tests/acceptance/nodes-list-test.js b/ui/tests/acceptance/nodes-list-test.js index 81cb509e6..23e1b10ed 100644 --- a/ui/tests/acceptance/nodes-list-test.js +++ b/ui/tests/acceptance/nodes-list-test.js @@ -170,3 +170,24 @@ test('each server should link to the server detail page', function(assert) { assert.equal(currentURL(), `/servers/${agent.name}`); }); }); + +test('when the API returns no agents, show an empty message', function(assert) { + minimumSetup(); + + // Override the members handler to act as if server-side permissions + // are preventing a qualified response. + server.pretender.get('/v1/agent/members', () => [ + 200, + {}, + JSON.stringify({ + Members: [], + }), + ]); + + visit('/servers'); + + andThen(() => { + assert.ok(find('.empty-message')); + assert.equal(find('.empty-message-headline').textContent, 'Invalid Permissions'); + }); +});