@@ -39,68 +39,71 @@ func TestResponseForSprint(t *testing.T) {
39
39
expected string
40
40
}{
41
41
{
42
- []flows.Event {
43
- events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "hello world" , "" , "" )),
44
- },
45
- `<Response><Say>hello world</Say><Hangup></Hangup></Response>` ,
46
- },
47
- {
48
- []flows.Event {
49
- events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "hello world" , "eng" , "" )),
42
+ // ivr msg, no text language specified
43
+ events : []flows.Event {
44
+ events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "Hi there" , "" , "" )),
50
45
},
51
- `<Response><Say language="en-US">hello world </Say><Hangup></Hangup></Response>` ,
46
+ expected : `<Response><Say>Hi there </Say><Hangup></Hangup></Response>` ,
52
47
},
53
48
{
54
- []flows.Event {
55
- events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "hello world" , "ben" , "" )),
49
+ // ivr msg, supported text language specified
50
+ events : []flows.Event {
51
+ events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "Hi there" , "eng" , "" )),
56
52
},
57
- `<Response><Say>hello world </Say><Hangup></Hangup></Response>` ,
53
+ expected : `<Response><Say language="en-US">Hi there </Say><Hangup></Hangup></Response>` ,
58
54
},
59
55
{
60
- []flows.Event {
61
- events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "hello world" , "eng" , "/recordings/foo.wav" )),
56
+ // ivr msg, unsupported text language specified
57
+ events : []flows.Event {
58
+ events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "Amakuru" , "kin" , "" )),
62
59
},
63
- `<Response><Play>https://mailroom.io/recordings/foo.wav</Play ><Hangup></Hangup></Response>` ,
60
+ expected : `<Response><Say>Amakuru</Say ><Hangup></Hangup></Response>` ,
64
61
},
65
62
{
66
- []flows.Event {
67
- events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "hello world" , "" , "https://temba.io/recordings/foo.wav" )),
63
+ // ivr msg with audio attachment, text language ignored
64
+ events : []flows.Event {
65
+ events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "Hi there" , "eng" , "/recordings/foo.wav" )),
68
66
},
69
- `<Response><Play>https://temba .io/recordings/foo.wav</Play><Hangup></Hangup></Response>` ,
67
+ expected : `<Response><Play>https://mailroom .io/recordings/foo.wav</Play><Hangup></Hangup></Response>` ,
70
68
},
71
69
{
72
- []flows.Event {
70
+ // 2 ivr msgs
71
+ events : []flows.Event {
73
72
events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "hello world" , "" , "" )),
74
73
events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "goodbye" , "" , "" )),
75
74
},
76
- `<Response><Say>hello world</Say><Say>goodbye</Say><Hangup></Hangup></Response>` ,
75
+ expected : `<Response><Say>hello world</Say><Say>goodbye</Say><Hangup></Hangup></Response>` ,
77
76
},
78
77
{
79
- []flows.Event {
78
+ // ivr msg followed by wait for digits
79
+ events : []flows.Event {
80
80
events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "enter a number" , "" , "" )),
81
81
events .NewMsgWait (nil , nil , hints .NewFixedDigitsHint (1 )),
82
82
},
83
- `<Response><Gather numDigits="1" timeout="30" action="http://temba.io/resume?session=1&wait_type=gather"><Say>enter a number</Say></Gather><Redirect>http://temba.io/resume?session=1&wait_type=gather&timeout=true</Redirect></Response>` ,
83
+ expected : `<Response><Gather numDigits="1" timeout="30" action="http://temba.io/resume?session=1&wait_type=gather"><Say>enter a number</Say></Gather><Redirect>http://temba.io/resume?session=1&wait_type=gather&timeout=true</Redirect></Response>` ,
84
84
},
85
85
{
86
- []flows.Event {
86
+ // ivr msg followed by wait for terminated digits
87
+ events : []flows.Event {
87
88
events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "enter a number, then press #" , "" , "" )),
88
89
events .NewMsgWait (nil , nil , hints .NewTerminatedDigitsHint ("#" )),
89
90
},
90
- `<Response><Gather finishOnKey="#" timeout="30" action="http://temba.io/resume?session=1&wait_type=gather"><Say>enter a number, then press #</Say></Gather><Redirect>http://temba.io/resume?session=1&wait_type=gather&timeout=true</Redirect></Response>` ,
91
+ expected : `<Response><Gather finishOnKey="#" timeout="30" action="http://temba.io/resume?session=1&wait_type=gather"><Say>enter a number, then press #</Say></Gather><Redirect>http://temba.io/resume?session=1&wait_type=gather&timeout=true</Redirect></Response>` ,
91
92
},
92
93
{
93
- []flows.Event {
94
+ // ivr msg followed by wait for recording
95
+ events : []flows.Event {
94
96
events .NewIVRCreated (flows .NewIVRMsgOut (urn , channelRef , "say something" , "" , "" )),
95
97
events .NewMsgWait (nil , nil , hints .NewAudioHint ()),
96
98
},
97
- `<Response><Say>say something</Say><Record action="http://temba.io/resume?session=1&wait_type=record" maxLength="600"></Record><Redirect>http://temba.io/resume?session=1&wait_type=record&empty=true</Redirect></Response>` ,
99
+ expected : `<Response><Say>say something</Say><Record action="http://temba.io/resume?session=1&wait_type=record" maxLength="600"></Record><Redirect>http://temba.io/resume?session=1&wait_type=record&empty=true</Redirect></Response>` ,
98
100
},
99
101
{
100
- []flows.Event {
102
+ // dial wait
103
+ events : []flows.Event {
101
104
events .NewDialWait (urns .URN (`tel:+1234567890` ), 60 , 7200 , & expiresOn ),
102
105
},
103
- `<Response><Dial action="http://temba.io/resume?session=1&wait_type=dial" timeout="60" timeLimit="7200">+1234567890</Dial></Response>` ,
106
+ expected : `<Response><Dial action="http://temba.io/resume?session=1&wait_type=dial" timeout="60" timeLimit="7200">+1234567890</Dial></Response>` ,
104
107
},
105
108
}
106
109
0 commit comments