import test from 'ava'; const {newAPI, oldAPI} = require('./keys.json'); const Cloud = require('.'); test('register a new user', async t => { const api = new Cloud({key: oldAPI.key, secret: oldAPI.secret}); const apiResult = await api.register({email: 'hi@example.com', password: 'example-password'}); t.is(apiResult.length, 56); }); test('login a user', async t => { const api = new Cloud({key: oldAPI.key, secret: oldAPI.secret}); const apiResult = await api.login({email: 'hi@example.com', password: 'example-password'}); t.is(apiResult.length, 56); }); test('create a token', async t => { const api = new Cloud({key: oldAPI.key, secret: oldAPI.secret}); await api.register({email: 'hi@example.com', password: 'example-password'}); const token = await api.request({action: 'tuya.m.device.token.create', data: {timeZone: '+08:00'}}); if (token.secret && token.token) { t.pass(); } }); test('New API: register a new user', async t => { const api = new Cloud({key: newAPI.key, secret: newAPI.secret, secret2: newAPI.secret2, certSign: newAPI.certSign, apiEtVersion: '0.0.1'}); const apiResult = await api.register({email: 'hi@example.com', password: 'example-password'}); t.is(apiResult.length, 56); }); test('New API: login a user', async t => { const api = new Cloud({key: newAPI.key, secret: newAPI.secret, secret2: newAPI.secret2, certSign: newAPI.certSign, apiEtVersion: '0.0.1'}); const apiResult = await api.login({email: 'hi@example.com', password: 'example-password'}); t.is(apiResult.length, 56); }); test('New API: loginEx a user', async t => { const api = new Cloud({key: newAPI.key, secret: newAPI.secret, secret2: newAPI.secret2, certSign: newAPI.certSign, apiEtVersion: '0.0.1'}); const apiResult = await api.loginEx({email: 'hi@example.com', password: 'example-password'}); t.is(apiResult.length, 56); }); test.todo('wait for token');