consul/ui-v2/tests/acceptance/dc/list-blocking.feature
John Cowen 9daf8f53d9 ui: Adds blocking query support to the service detail page (#5479)
This commit includes several pieces of functionality to enable services
to be removed and the page to present information that this has happened
but also keep the deleted information on the page. Along with the more
usual blocking query based listing.

To enable this:

1. Implements `meta` on the model (only available on collections in
ember)
2. Adds new `catchable` ComputedProperty alongside a `listen` helper for
working with specific errors that can be thrown from EventSources in an
ember-like way. Briefly, normal computed properties update when a
property changes, EventSources can additionally throw errors so we can
catch them and show different visuals based on that.
2019-05-01 18:22:22 +00:00

57 lines
1.9 KiB
Gherkin

@setupApplicationTest
Feature: dc / list-blocking
In order to see updates without refreshing the page
As a user
I want to see changes if I change consul externally
Background:
Given 1 datacenter model with the value "dc-1"
And settings from yaml
---
consul:client:
blocking: 1
---
Scenario: Viewing the listing pages
Given 3 [Model] models
And a network latency of 100
When I visit the [Page] page for yaml
---
dc: dc-1
---
Then the url should be /dc-1/[Url]
And pause until I see 3 [Model] models
And an external edit results in 5 [Model] models
And pause until I see 5 [Model] models
And an external edit results in 1 [Model] model
And pause until I see 1 [Model] model
And an external edit results in 0 [Model] models
And pause until I see 0 [Model] models
Where:
------------------------------------------------
| Page | Model | Url |
| services | service | services |
| nodes | node | nodes |
------------------------------------------------
Scenario: Viewing detail pages with a listing
Given 3 [Model] models
And a network latency of 100
When I visit the [Page] page for yaml
---
dc: dc-1
service: service-0
---
Then the url should be /dc-1/[Url]
And pause until I see 3 [Model] models
And an external edit results in 5 [Model] models
And pause until I see 5 [Model] models
And an external edit results in 1 [Model] model
And pause until I see 1 [Model] model
And an external edit results in 0 [Model] models
And pause for 300
And I see the text "deregistered" in "[data-notification]"
Where:
------------------------------------------------
| Page | Model | Url |
| service | instance | services/service-0 |
------------------------------------------------