1 | const masterPassword = 'MySecretPassword'
|
2 | const defaultExpireDays = 7
|
3 | const defaultExpireViews = 5
|
4 |
|
5 | process.argv[2] = masterPassword
|
6 |
|
7 | const pwpush = require('../index')
|
8 | const querystring = require('querystring')
|
9 |
|
10 | test(`Should have "${masterPassword}" as password value`, () => {
|
11 | expect(pwpush.password).toBe(masterPassword);
|
12 | });
|
13 | test(`Should have ${defaultExpireDays} as default value for --days flag`, () => {
|
14 | expect(pwpush.expire_days).toBe(defaultExpireDays);
|
15 | });
|
16 | test(`Should have ${defaultExpireViews} as default value for --views flag`, () => {
|
17 | expect(pwpush.expire_views).toBe(defaultExpireViews);
|
18 | });
|
19 |
|
20 | test(`Should reqOptions have "post" as method and "https://pwpush.com/p" as target url`, () => {
|
21 | expect(pwpush.reqOptions.method).toBe('post');
|
22 | expect(pwpush.reqOptions.url).toBe('https://pwpush.com/p');
|
23 | });
|
24 | test(`Should reqOptions "data" contains a queryfied payload according to passed values`, () => {
|
25 | const result = pwpush.reqOptions.data
|
26 | const expected = querystring.stringify({
|
27 | 'password[payload]': masterPassword,
|
28 | 'password[expire_after_days]': defaultExpireDays,
|
29 | 'password[expire_after_views]': defaultExpireViews,
|
30 | 'password[deletable_by_viewer]': 'on',
|
31 | })
|
32 |
|
33 | expect(result).toEqual(expected);
|
34 | });
|