import test from 'ava'; import nock from 'nock'; import User from '../src/api/user'; test('login', t => { const token = '5e0651'; const user = {email: 'test@example.org', password: 'password'}; nock('https://lesspass.com').post('/api/tokens/auth/', user).reply(201, {token}); return User.login(user, {baseURL: 'https://lesspass.com'}).then(response => { t.is(response.token, token); }); }); test('register', t => { const user = {email: 'test@example.org', password: 'password'}; nock('https://lesspass.com').post('/api/auth/register/', user).reply(201, {email: user.email, pk: 1}); return User.register(user, {baseURL: 'https://lesspass.com'}).then(response => { t.is(response.email, user.email); }); }); test('resetPassword', t => { var email = 'test@lesspass.com'; nock('https://lesspass.com').post('/api/auth/password/reset/', {email}).reply(204); t.notThrows(User.resetPassword({email}, {baseURL: 'https://lesspass.com'})); }); test('confirmResetPassword', t => { var newPassword = { uid: 'MQ', token: '5g1-2bd69bd6f6dcd73f8124', new_password: 'password1' }; nock('https://lesspass.com').post('/api/auth/password/reset/confirm/', newPassword).reply(204); t.notThrows(User.confirmResetPassword(newPassword, {baseURL: 'https://lesspass.com'})); }); test('refresh token', t => { const token = '3e3231'; const newToken = 'wibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9eyJzdWIiOiIxMjM0NTY3ODkwIi'; nock('https://lesspass.com').post('/api/tokens/refresh/', {token}).reply(200, {token: newToken}); return User.requestNewToken({token}, {baseURL: 'https://lesspass.com'}).then(refreshedToken => { t.is(refreshedToken, newToken); }); });