Advertisement
Guest User

Untitled

a guest
Jan 18th, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.52 KB | None | 0 0
  1. /*
  2. ==============================================================
  3. Atenção: Este código foi gerado automaticamente;
  4. --------------------------------------------------------------
  5. Especificação: Spec6
  6. Caso de teste número: 5.4.1
  7. ==============================================================
  8. */
  9.  
  10. const frisby = require('frisby');
  11. const uuid = require('uuid/v4');
  12. const msisdn = `11900008001.${EXTENSION}`;
  13. const username = USERNAME;
  14. const password = PASSWORD;
  15. const extra = 'transfereMaxErro';
  16. const url = `${URL}${msisdn}`;
  17. const auth = Buffer.from(`${username}:${password}`).toString('base64');
  18.  
  19. frisby.globalSetup({
  20. request: {
  21. headers: {
  22. Authorization: 'Bearer ' + auth,
  23. 'Content-Type': 'application/json',
  24. },
  25. timeout: 30000,
  26. inspectOnFailure: false,
  27. },
  28. });
  29.  
  30. describe('Cenário: Usuário Possui Saldo de Dados - SIM', function() {
  31.  
  32. const connIdValue = uuid();
  33. const uraIdValue = '1000';
  34. const rxInvestigaAssunto = /(InvestigaAssunto_INI_RDM)[1-6]/;
  35. const rxOfertaSaldoDetalhado = /(OfertaSaldoDetalhado_INI_RDM)[1-3]/;
  36. const rxInvestigaAssunto_REE = /(InvestigaAssunto_REE)[1-4]/;
  37. const rxTchauGeral = /(Tchau_Geral_)\w+/;
  38.  
  39. // console.log(msisdn);
  40. // console.log(username);
  41. // console.log(password);
  42. // console.log(url);
  43. // console.log(auth);
  44. // console.log(connIdValue);
  45.  
  46. it('O cliente aperta 9 na URA DTMF -> Investiga Assunto <-', function(done) {
  47. return frisby
  48. .post(url, {
  49. connId: connIdValue,
  50. uraId: uraIdValue,
  51. additionalData: [{
  52. key: 'linetype',
  53. value: '3',
  54. },],
  55. speechResult: 'start_conversation',
  56. })
  57. .expect('status', 200)
  58. .expect('header', 'Content-Type', 'application/json')
  59.  
  60. .expect('json', 'response.commands[0].command', 'Play')
  61. .expect('json', 'response.commands[0].loop', '1')
  62. .expect('bodyContains', rxInvestigaAssunto)
  63. .expect('jsonTypes', 'response.commands[0].commands', frisby.Joi.array().required())
  64.  
  65. .expect('json', 'response.commands[1].command', 'Gather')
  66. .expect('json', 'response.commands[1].input', 'speech')
  67. .expect('json', 'response.commands[1].timeout', MAX_TIMEOUT)
  68. .expect('jsonTypes', 'response.commands[1].commands', frisby.Joi.array().required())
  69. .expect('jsonTypes', 'response.commands[1].stats', frisby.Joi.object().required())
  70.  
  71. .expect('json', 'response.commands[2].command', 'Redirect')
  72. .expect('json', 'response.commands[2].content', '?SpeechResult=SILENCE_TIMEOUT')
  73. .expect('jsonTypes', 'response.commands[2].commands', frisby.Joi.array().required())
  74.  
  75. .expect('json', 'response.stats.play', 1)
  76. .expect('json', 'response.stats.gather', 1)
  77. .expect('json', 'response.stats.redirect', 1).done(done);
  78.  
  79. /*.inspectJSON()*/
  80.  
  81. });
  82.  
  83. it('Intenção -> Não Consigo usar minha Internet <-', function(done) {
  84. return frisby
  85. .post(url, {
  86. connId: connIdValue,
  87. uraId: uraIdValue,
  88. additionalData: [{
  89. key: 'linetype',
  90. value: '3',
  91. },],
  92. speechResult: 'Não Consigo usar minha Internet',
  93. })
  94. .expect('status', 200)
  95. .expect('header', 'Content-Type', 'application/json')
  96.  
  97. .expect('json', 'response.commands[0].command', 'Play')
  98. .expect('json', 'response.commands[0].loop', '1')
  99. .expect('json', 'response.commands[0].content', 'Introducao_INI_Internet')
  100. .expect('jsonTypes', 'response.commands[0].commands', frisby.Joi.array().required())
  101.  
  102. .expect('json', 'response.commands[1].command', 'Play')
  103. .expect('json', 'response.commands[1].loop', '1')
  104. .expect('json', 'response.commands[1].content', 'silencio_100')
  105. .expect('jsonTypes', 'response.commands[1].commands', frisby.Joi.array().required())
  106.  
  107. .expect('json', 'response.commands[2].command', 'Play')
  108. .expect('json', 'response.commands[2].loop', '1')
  109. .expect('json', 'response.commands[2].content', 'SaldoResumido_INI_E')
  110. .expect('jsonTypes', 'response.commands[2].commands', frisby.Joi.array().required())
  111.  
  112. .expect('json', 'response.commands[3].command', 'Play')
  113. .expect('json', 'response.commands[3].loop', '1')
  114. .expect('json', 'response.commands[3].content', 'silencio_100')
  115. .expect('jsonTypes', 'response.commands[3].commands', frisby.Joi.array().required())
  116.  
  117. .expect('json', 'response.commands[4].command', 'Play')
  118. .expect('json', 'response.commands[4].loop', '1')
  119. .expect('json', 'response.commands[4].content', 'Franquia_1000_F')
  120. .expect('jsonTypes', 'response.commands[4].commands', frisby.Joi.array().required())
  121.  
  122. .expect('json', 'response.commands[5].command', 'Play')
  123. .expect('json', 'response.commands[5].loop', '1')
  124. .expect('json', 'response.commands[5].content', 'silencio_100')
  125. .expect('jsonTypes', 'response.commands[5].commands', frisby.Joi.array().required())
  126.  
  127. .expect('json', 'response.commands[6].command', 'Play')
  128. .expect('json', 'response.commands[6].loop', '1')
  129. .expect('json', 'response.commands[6].content', 'SaldoResumido_Else')
  130. .expect('jsonTypes', 'response.commands[6].commands', frisby.Joi.array().required())
  131.  
  132. .expect('json', 'response.commands[7].command', 'Play')
  133. .expect('json', 'response.commands[7].loop', '1')
  134. .expect('json', 'response.commands[7].content', 'silencio_100')
  135. .expect('jsonTypes', 'response.commands[7].commands', frisby.Joi.array().required())
  136.  
  137. .expect('json', 'response.commands[8].command', 'Play')
  138. .expect('json', 'response.commands[8].loop', '1')
  139. .expect('json', 'response.commands[8].content', 'Reiniciar_INI')
  140. .expect('jsonTypes', 'response.commands[8].commands', frisby.Joi.array().required())
  141.  
  142. .expect('json', 'response.commands[9].command', 'Gather')
  143. .expect('json', 'response.commands[9].input', 'speech')
  144. .expect('json', 'response.commands[9].timeout', MAX_TIMEOUT)
  145. .expect('jsonTypes', 'response.commands[9].commands', frisby.Joi.array().required())
  146. .expect('jsonTypes', 'response.commands[9].stats', frisby.Joi.object().required())
  147.  
  148. .expect('json', 'response.commands[10].command', 'Redirect')
  149. .expect('json', 'response.commands[10].content', '?SpeechResult=SILENCE_TIMEOUT')
  150. .expect('jsonTypes', 'response.commands[10].commands', frisby.Joi.array().required())
  151.  
  152. .expect('json', 'response.stats.play', 9)
  153. .expect('json', 'response.stats.gather', 1)
  154. .expect('json', 'response.stats.redirect', 1).done(done);
  155.  
  156. });
  157.  
  158. it('Intenção -> Sim <-', function(done) {
  159. return frisby
  160. .post(url, {
  161. connId: connIdValue,
  162. uraId: uraIdValue,
  163. additionalData: [{
  164. key: 'linetype',
  165. value: '3',
  166. },],
  167. speechResult: 'Sim',
  168. })
  169. .expect('status', 200)
  170. .expect('header', 'Content-Type', 'application/json')
  171.  
  172. .expect('json', 'response.commands[0].command', 'Play')
  173. .expect('json', 'response.commands[0].loop', '1')
  174. .expect('json', 'response.commands[0].content', 'Configuracao_INI_Reiniciou')
  175. .expect('jsonTypes', 'response.commands[0].commands', frisby.Joi.array().required())
  176.  
  177. .expect('json', 'response.commands[1].command', 'Gather')
  178. .expect('json', 'response.commands[1].input', 'speech')
  179. .expect('json', 'response.commands[1].timeout', MAX_TIMEOUT)
  180. .expect('jsonTypes', 'response.commands[1].commands', frisby.Joi.array().required())
  181. .expect('jsonTypes', 'response.commands[1].stats', frisby.Joi.object().required())
  182.  
  183. .expect('json', 'response.commands[2].command', 'Redirect')
  184. .expect('json', 'response.commands[2].content', '?SpeechResult=SILENCE_TIMEOUT')
  185. .expect('jsonTypes', 'response.commands[2].commands', frisby.Joi.array().required())
  186.  
  187. .expect('json', 'response.stats.play', 1)
  188. .expect('json', 'response.stats.gather', 1)
  189. .expect('json', 'response.stats.redirect', 1).done(done);
  190.  
  191. });
  192.  
  193. it('Intenção -> Sim <-', function(done) {
  194. return frisby
  195. .post(url, {
  196. connId: connIdValue,
  197. uraId: uraIdValue,
  198. additionalData: [{
  199. key: 'linetype',
  200. value: '3',
  201. },],
  202. speechResult: 'Sim',
  203. })
  204. .expect('status', 200)
  205. .expect('header', 'Content-Type', 'application/json')
  206.  
  207. .expect('json', 'response.commands[0].command', 'Play')
  208. .expect('json', 'response.commands[0].loop', '1')
  209. .expect('json', 'response.commands[0].content', 'DualChip_INI')
  210. .expect('jsonTypes', 'response.commands[0].commands', frisby.Joi.array().required())
  211.  
  212. .expect('json', 'response.commands[1].command', 'Gather')
  213. .expect('json', 'response.commands[1].input', 'speech')
  214. .expect('json', 'response.commands[1].timeout', MAX_TIMEOUT)
  215. .expect('jsonTypes', 'response.commands[1].commands', frisby.Joi.array().required())
  216. .expect('jsonTypes', 'response.commands[1].stats', frisby.Joi.object().required())
  217.  
  218. .expect('json', 'response.commands[2].command', 'Redirect')
  219. .expect('json', 'response.commands[2].content', '?SpeechResult=SILENCE_TIMEOUT')
  220. .expect('jsonTypes', 'response.commands[2].commands', frisby.Joi.array().required())
  221.  
  222. .expect('json', 'response.stats.play', 1)
  223. .expect('json', 'response.stats.gather', 1)
  224. .expect('json', 'response.stats.redirect', 1).done(done);
  225.  
  226. });
  227.  
  228. it('O cliente não quer mais nenhuma informação -> Tchau_Geral_[BomDia, BoaTarde, BoaNoite] <-', function(done) {
  229. return frisby
  230. .post(url, {
  231. connId: connIdValue,
  232. uraId: uraIdValue,
  233. additionalData: [{
  234. key: 'linetype',
  235. value: '3',
  236. },],
  237. speechResult: 'Sim',
  238. })
  239. .expect('status', 200)
  240. .expect('header', 'Content-Type', 'application/json')
  241.  
  242. .expect('json', 'response.commands[0].command', 'Play')
  243. .expect('json', 'response.commands[0].loop', '1')
  244. .expect('json', 'response.commands[0].content', rxTchauGeral)
  245. .expect('jsonTypes', 'response.commands[0].commands', frisby.Joi.array().required())
  246.  
  247. .expect('json', 'response.commands[1].command', 'Hangup')
  248. .expect('jsonTypes', 'response.commands[1].commands', frisby.Joi.array().required())
  249.  
  250. .expect('json', 'response.stats.play', 1)
  251. .expect('json', 'response.stats.hangup', 1).done(done);
  252.  
  253. });
  254.  
  255. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement