UNPKG

2.33 kBJavaScriptView Raw
1const test = require('tap').test
2const Nightmare = require('nightmare')
3
4const night = Nightmare({
5 openDevTools: {
6 mode: 'detach'
7 },
8 show : true,
9 executionTimeout: 120e3
10})
11
12const data = {
13 phoneCode: '+9',
14 phone : '996620000',
15 code : '22222',
16
17 url : 'http://localhost:8000/',
18 sel1: {
19 country: '[ng-model="credentials.phone_country"]',
20 phone : '[ng-model="credentials.phone_number"]',
21 code : '[ng-model="credentials.phone_code"]',
22 next : '.login_head_submit_btn',
23 ok : '[ng-click="$close()"]',
24 form : '.login_page',
25 end : '[my-i18n="im_select_a_chat"]',
26 err : '[my-i18n="error_modal_internal_title"]',
27 im : 'Please select a chat to start messaging'
28 }
29}
30
31const fieldFastEdit = function(sel) {
32 document.querySelector(sel).value = ''
33 return document.querySelector(sel).value
34}
35test('try login', t => {
36 t.notThrow(async () => {
37 let count = 0,
38 done = false
39 await night
40 .goto(data.url)
41 while (count < 5 && !done) {
42 const isError = await night
43 .wait(data.sel1.country)
44 .wait(8e3)
45 .visible(data.sel1.err)
46 console.log('succ', isError)
47 done = !isError
48 if (isError)
49 await night
50 .refresh()
51 count++
52 }
53 await night
54 // .goto(data.url)
55 // .wait(data.sel1.country)
56 // .wait(8e3)
57 // // .click(data.sel1.country)
58 .evaluate(fieldFastEdit, data.sel1.country)
59 .insert(
60 data.sel1.country,
61 data.phoneCode)
62 .insert(
63 data.sel1.phone,
64 data.phone)
65 .click(data.sel1.next)
66 .wait(data.sel1.ok)
67 .wait(2e3)
68 .click(data.sel1.ok)
69 .wait(data.sel1.code)
70 .wait(2e3)
71 .type(data.sel1.code, data.code)
72 .wait(data.sel1.end)
73 .wait(9e3)
74 const text = await night
75 .evaluate(function(sel){
76 return document.querySelector(sel).innerText
77 }, data.sel1.end)
78 if (text === data.sel1.im)
79 await night.end()
80 // .retype(data.sel1.country, '+9')
81 // .then(e => {
82 console.warn('done', text)
83
84 t.equal(text, data.sel1.im, 'valid welcome message')
85 t.end()
86 process.exit(0)
87 // })
88 }, 'smoke test')
89})
\No newline at end of file