UNPKG

@haechi-labs/henesis-cli

Version:

🚀 Command Line Interface tool to Utilize henesis

88 lines • 3.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const test_1 = require("@oclif/test"); const wretch_1 = tslib_1.__importDefault(require("wretch")); const url_1 = require("./url"); const mockhttp = tslib_1.__importStar(require("mockttp")); const user_1 = require("./user"); const mock_1 = require("../mock"); wretch_1.default().polyfills({ fetch: require('node-fetch'), FormData: require('form-data'), URLSearchParams: require('url').URLSearchParams, }); process.env.HENESIS_TEST = 'true'; describe('UserRpc', () => { const mockServer = mockhttp.getLocal(); let userRpc; beforeEach(async () => { const url = url_1.baseUrl(); userRpc = new user_1.UserRpc(url, url_1.rpcVersion); await mockServer.start(8080); }); afterEach(async () => { await mockServer.stop(); }); describe('#login()', () => { it('should be failed when Nonexistent User Info.', async () => { await mockServer .post('/users/v1/login') .thenJson(403, { error: { message: 'login failed' } }); try { await userRpc.login('asdf', 'password'); } catch (err) { test_1.expect(err.toString()).to.equal('Error: login failed'); } }); it('success Login Process.', async () => { const loginData = mock_1.newMockLogin(); await mockServer.post('/users/v1/login').thenJSON(200, loginData); const response = await userRpc.login(loginData.email, 'password'); test_1.expect(response).to.deep.equal(loginData); }); }); describe('#changePassword()', () => { it('should be failed when different exist password.', async () => { await mockServer.patch('/users/v1/passwd').thenJson(403, {}); try { await userRpc.changePassword('existing password', 'To be changed password'); } catch (err) { test_1.expect(err.toString()).to.equal('Error: failed to change password'); } }); it('should be failed when jwt Token is expire.', async () => { await mockServer.patch('/users/v1/passwd').thenJson(401, { error: { message: 'expired token (please log in again)' }, }); try { await userRpc.changePassword('existing password', 'To be changed password'); } catch (err) { test_1.expect(err.toString()).to.equal('Error: expired token (please log in again)'); } }); }); describe('#describeAccount()', () => { it('should be failed when jwt Token is expire.', async () => { await mockServer.get('/users/v1/me').thenJson(401, { error: { message: 'expired token (please log in again)' }, }); try { await userRpc.describe(); } catch (err) { test_1.expect(err.toString()).to.equal('Error: expired token (please log in again)'); } }); it('success describe account.', async () => { const accountData = mock_1.newMockAccount(); await mockServer.get('/users/v1/me').thenJson(200, accountData); const response = await userRpc.describe(); test_1.expect(response).to.deep.equal(accountData); }); }); }); //# sourceMappingURL=user.spec.js.map