-
Notifications
You must be signed in to change notification settings - Fork 0
/
VirtualServiceInfo.feature
69 lines (65 loc) · 7.85 KB
/
VirtualServiceInfo.feature
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Feature: Display Virtual Service information
This is a new feature proposal for the UUA Services Plugin, which is part of
the UUA WordPress Theme for Congregations | Documentation for the UUA WordPress Theme for Congregations.
See https://www.uua.org/communications/websites/wordpress-theme/documentation/technical/services-plugin
In the text below, the "UUA Featured Upcoming Service Widget" is referred to as "FUSW".
This is a specification file in the gherkin language; see https://cucumber.io/docs/gherkin/reference/
Scenario Outline: Single service
Given Virtual Service URL preview duration of 30 minutes
And Extended Visibility duration of 120 minutes
And services lasting 60 minutes
And a service is created named <Name>, starting <StartOffsetMinutes> minutes <FromNowOrAgo>, <WithOrWithoutVirtualServiceUrl> a virtual service URL
When the FUSW is computed
Then its DisplayAsUpcomingService is <DisplayAsUpcomingService>
And its UpcomingStatus is <UpcomingStatus>
And the service is <ServiceIsVisible> in the FUSW
And the Virtual Service URL is <VirtualServiceUrlIsVisible> in the FUSW
Examples:
| Name | StartOffsetMinutes | FromNowOrAgo | WithOrWithoutVirtualServiceUrl | DisplayAsUpcomingService | UpcomingStatus | ServiceIsVisible | VirtualServiceUrlIsVisible |
| Upcoming Service | 60 | from now | with | true | Upcoming | true | false |
| Upcoming Service without URL | 60 | from now | with | false | Upcoming | true | false |
| Preview Service | 15 | from now | with | true | Imminent | true | true |
| Preview Service without URL | 15 | from now | with | false | Imminent | true | false |
| Ongoing Service | 15 | ago | with | true | Ongoing | true | true |
| Ongoing Service without URL | 15 | ago | with | true | Ongoing | true | true |
| Recently Completed Service | 75 | ago | with | true | RecentlyCompleted | true | false |
| Recently Completed Service without URL | 75 | ago | with | true | RecentlyCompleted | true | false |
| Long Completed Service | 240 | ago | with | false | n/a | false | false |
| Long Completed Service without URL | 240 | ago | with | false | n/a | false | false |
Scenario Outline: One prior service and one succeeding service
Given Virtual Service URL preview duration of 30 minutes
And Extended Visibility duration of 120 minutes
And service durations of 60 minutes
And example is <ExampleName>
And a prior service is created, starting <PriorStartOffset> minutes <PriorFromNowOrAgo>
And a succeeding service is created, starting <SucceedingStartOffset> minutes from now
When the FUSW is computed
Then the prior service DisplayAsUpcomingService is <PriorDisplayAsUpcomingService>
And the prior service UpcomingStatus is <PriorUpcomingStatus>
And the prior service is <PriorServiceIsVisible> in the FUSW
And the succeeding service DisplayAsUpcomingService is <SucceedingDisplayAsUpcomingService>
And the succeeding service UpcomingStatus is <SucceedingUpcomingStatus>
And the succeeding service is <SucceedingServiceIsVisible> in the FUSW
Examples:
| ExampleName | PriorStartOffset | PriorFromNowOrAgo | SucceedingStartOffset | PriorDisplayAsUpcomingService | PriorUpcomingStatus | PriorServiceIsVisible | SucceedingDisplayAsUpcomingService | SucceedingUpcomingStatus | SucceedingServiceIsVisible |
| Prior Ongoing | 10 | ago | 10,000 | true | Ongoing | true | false | n/a | false |
| Prior Recently Completed | 75 | ago | 10,000 | true | Recently Completed | true | false | n/a | false |
| Prior Long Completed, Next Upcoming in a week | 240 | ago | 10,000 | false | n/a | false | true | Upcoming | true |
| Prior last week, Next Upcoming | 10,000 | ago | 240 | false | n/a | false | true | Upcoming | true |
| Next Imminent | 10,000 | ago | 10 | false | n/a | false | true | Imminent | true |
Scenario Outline: Report overlapping visibility periods for
Given Virtual Service URL preview duration of <PreviewMinutes> minutes
And Extended Visibility duration of <ExtendedVisibilityMinutes> minutes
And service durations of <DurationMinutes> minutes
And example is <ExampleName>
And a prior service is created named "Prior Service", starting 5 minutes ago
When a next service is created, starting <NextServiceOffset> minutes later
Then an overlap is <OverlapReported> for the next service with "Prior Service"
Examples:
| ExampleName | DurationMinutes | ExtendedVisibilityMinutes | PreviewMinutes | NextServiceOffset | OverlapReported |
| No overlap, prior featured | 20 | 20 | 20 | 90 | not reported |
| Overlap, extended vs. preview | 20 | 20 | 20 | 45 | reported |
| Overlap, extended vs. start | 20 | 20 | 0 | 30 | reported |
| Overlap, ongoing vs. preview | 20 | 0 | 20 | 30 | reported |
| Overlap, ongoing vs. start | 20 | 0 | 0 | 10 | reported |
| Overlap but both already started | 20 | 0 | 0 | 1 | not reported |