-
Notifications
You must be signed in to change notification settings - Fork 0
/
advanced.test.yml
203 lines (190 loc) · 8.67 KB
/
advanced.test.yml
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
#=====================================================================================================================
# ______ _ ____ ______ __ _
# / __/ /__ (_) / / /_ __/__ ___ / /_(_)__ ___ _
# _\ \/ '_// / / / / / / -_|_-</ __/ / _ \/ _ `/
# /___/_/\_\/_/_/_/ /_/ \__/___/\__/_/_//_/\_, /
# /___/
#
# Created by Bespoken
# Learn more at https://read.bespoken.io/unit-testing/getting-started/
# >>> If you need assistance please chat with us here: https://apps.bespoken.io/dashboard (lower right-hand corner)
#
# Skill name: Guess the Price by Bespoken
# Test scope: LaunchRequest and intents: GetOnePlayer, GetANumber,GetPlayerNumber, GetContestantName, GetContestantPrice,
# AMAZON.HelpIntent, AMAZON.StopIntent and AMAZON.CancelIntent
# Description: General test suite for all intents
#=====================================================================================================================
---
configuration:
locale: en-US
description: Advanced Tests
---
- test: Launch request, no further interaction. # Some metadata about this test sequence
- LaunchRequest: # LaunchRequest is not an utterance but a request type and reserved word
- response.outputSpeech.ssml: /.*how many persons are playing today.*/i # Regular expression with case insensitive flag
- response.reprompt.outputSpeech.ssml: /.*can you tell us how many persons are playing.*/i # Shorthand for this is prompt
- response.shouldEndSession: false
- sessionAttributes.STATE: _START_MODE # You can also access the sessionAttributes items
---
- test: Launch request, play once with one player and fails.
- LaunchRequest # We don't care here about the actual response, we have already tested that
- one:
- response.outputSpeech.ssml: /.*please tell us your name.*/i
- response.reprompt.outputSpeech.ssml: /.*what is your name.*/i # Shorthand for this is reprompt
- response.shouldEndSession: false
- sessionAttributes.playerQuantity: 1
- sessionAttributes.currentPlayerSetup: 0
- sessionAttributes.STATE: _SETUP_USERS
- jordi:
- response.outputSpeech.ssml: "/.*let's start the game: jordi your product is .* guess the price.*/i"
- response.shouldEndSession: false
- response.reprompt.outputSpeech.ssml: "/.*let's start the game: jordi your product is .* guess the price.*/i"
- response.card.type: Standard # Accessing the card object
- response.card.title: "Your product is: Fitbit Charge 2 HR"
- response.card.image.largeImageUrl: "https://images-na.ssl-images-amazon.com/images/I/51NC9OeIr7L._SL1080_.jpg"
- response.card.text: "Your product description is: A wristband worn health tracker and heart rate monitor, Fitbit Charge 2 HR helps you maximize your workout, better track calorie burn, get a snapshot of your cardio fitness and track your sleep."
- sessionAttributes.playerQuantity: 1
- sessionAttributes.currentPlayerSetup: 0
- sessionAttributes.STATE: _GAME_ROUND
- sessionAttributes.players[0].name: jordi # Accessing an object within the sessionAttributes
- sessionAttributes.currentPlayerGame: 0
- sessionAttributes.currentProduct.price: 149
- sessionAttributes.currentRound: 0
- 240:
- response.outputSpeech.ssml: /.*you said 240 , the actual price was 149 dollars. your score for that answer is 0 points. your next product is .* guess the price.*/i
- response.reprompt.outputSpeech.ssml: /.*please tell us the price for .*/i
- response.shouldEndSession: false
- sessionAttributes.playerQuantity: 1
- sessionAttributes.currentPlayerSetup: 0
- sessionAttributes.STATE: _GAME_ROUND
- sessionAttributes.players[0].name: jordi
- sessionAttributes.players[0].score: 0
- sessionAttributes.currentPlayerGame: 0
- sessionAttributes.currentRound: 1
- stop
---
- test: Using succint syntax to invoke the intent with slots. Utterances have been replaced with intent names
- LaunchRequest
- GetPlayerNumber Number=1: please tell us your name
- GetContestantName PlayerName=jordi: "let's start the game: jordi your product is * Guess the price"
- GetContestantPrice Number=149:
- response.outputSpeech.ssml: /.*you said 149 , the actual price was 149 dollars. your score for that answer is 1000 points. your next product is .* guess the price.*/i
- response.reprompt.outputSpeech.ssml: /.*please tell us the price for .*/i
- response.shouldEndSession: false
- sessionAttributes.playerQuantity: 1
- sessionAttributes.currentPlayerSetup: 0
- sessionAttributes.STATE: _GAME_ROUND
- sessionAttributes.players[0].name: jordi
- sessionAttributes.players[0].score: 1000
- sessionAttributes.currentPlayerGame: 0
- sessionAttributes.currentRound: 1
- AMAZON.StopIntent: /.*hope to see you soon.*/i
---
- test: Launch request, play several times with one player, finish the game.
- LaunchRequest
- one
- jordi
- "149"
- "23"
- 1233:
- response.outputSpeech.ssml: "Game ended, your final score was: 1000"
- sessionAttributes.playerQuantity: 1
- sessionAttributes.currentPlayerSetup: 0
- sessionAttributes.STATE: _TELL_SCORE
- sessionAttributes.players[0].name: jordi
- sessionAttributes.players[0].score[0]: 1000 # Nested objects within sessionAttributes
- sessionAttributes.players[0].score[1]: 0
- sessionAttributes.players[0].score[2]: 0
- sessionAttributes.currentPlayerGame: 0
- sessionAttributes.currentRound: 3
---
- test: Launch request, play once with two players and stop. Focus on user interaction.
- LaunchRequest: how many persons are playing today
- 2: contestant one please tell us, what is your name
- jordi: Contestant 2 please tell us, what is your name
- caterina: "let's start the game: jordi your product is * Guess the price"
- 149: you said 149 , the actual price was 149 dollars. Your score for that answer is 1000 points. Now is caterina turn
- 4143: Now is jordi turn. Your next product is
- stop: Goodbye!
---
- test: Launch request, play several times with one player, finish the game.
- LaunchRequest
- "2"
- jordi
- caterina
- "149"
- "23"
- "1233"
- "32541"
- "3658"
- 32:
- response.outputSpeech.ssml: Game ended, the winner is jordi with 1000 points. Congratulations!
- sessionAttributes.playerQuantity: 2
- sessionAttributes.currentPlayerSetup: 1
- sessionAttributes.STATE: _TELL_SCORE
- sessionAttributes.players[0].name: jordi
- sessionAttributes.players[0].score[0]: 1000
- sessionAttributes.players[0].score[1]: 0
- sessionAttributes.players[0].score[2]: 0
- sessionAttributes.players[1].name: caterina
- sessionAttributes.players[1].score[0]: 0
- sessionAttributes.players[1].score[1]: 0
- sessionAttributes.players[1].score[2]: 0
- sessionAttributes.currentPlayerGame: 1
- sessionAttributes.currentRound: 3
---
- test: Launch request, play and say an unexpected utterance and cancel.
- LaunchRequest
- bananas:
- response.outputSpeech.ssml: We didn't get you correctly, please tell us how many persons are playing?
- response.reprompt.outputSpeech.ssml: How many persons are playing?
- cancel:
- response.outputSpeech.ssml: /.*hope to see you soon.*/i
---
- test: Launch request, ask for help before start playing and stop.
- LaunchRequest
- help:
- response.outputSpeech.ssml: /.*you have to guess a price in dollars.*/i
- response.reprompt.outputSpeech.ssml: /.*how many persons are playing today.*/i
- stop:
- response.outputSpeech.ssml: /.*hope to see you soon.*/i
---
- test: Launch request, ask for help when getting the players name and stop.
- LaunchRequest
- one
- help:
- response.outputSpeech.ssml: You give as your name, and then you can play with friends, what is your name?
- response.reprompt.outputSpeech.ssml: What is your name?
- stop:
- response.outputSpeech.ssml: /.*hope to see you soon.*/i
---
- test: Launch request, ask for help when playing and stop.
- LaunchRequest
- one
- jordi
- help:
- response.outputSpeech.ssml: You have to guess a price in dollars close to the actual price
- response.reprompt.outputSpeech.ssml: What is your price?
- stop:
- response.outputSpeech.ssml: /.*hope to see you soon.*/i
---
- test: Launch request, ask for name and provide a number.
- LaunchRequest
- one
- 43:
- response.outputSpeech.ssml: We didn't get you correctly, please tell us your name again?
- response.reprompt.outputSpeech.ssml: What is your name?
- stop:
- response.outputSpeech.ssml: /.*hope to see you soon.*/i
- sessionAttributes.STATE: _SETUP_USERS
---
- test: Launch request, ask for price and provide a word.
- LaunchRequest
- one
- jordi
- do you want a beer:
- response.outputSpeech.ssml: We didn't get your price. Please tell us a price in dollars without cents
- response.reprompt.outputSpeech.ssml: Please tell us a price in dollars without cents
- stop:
- response.outputSpeech.ssml: /.*hope to see you soon.*/i
- sessionAttributes.STATE: _GAME_ROUND