mirror of
https://github.com/xbgmsharp/postgsail.git
synced 2025-09-17 03:07:47 +00:00
Add unit tests mocha and sql
This commit is contained in:
671
tests/index4.js
Normal file
671
tests/index4.js
Normal file
@@ -0,0 +1,671 @@
|
||||
"use strict";
|
||||
/*
|
||||
* Unit test #4
|
||||
* OTP for email, Pushover, Telegram
|
||||
*
|
||||
* process.env.PGSAIL_API_URI = from inside the docker
|
||||
*
|
||||
* npm install supertest should mocha mochawesome moment
|
||||
* alias mocha="./node_modules/mocha/bin/_mocha"
|
||||
* mocha index4.js --reporter mochawesome --reporter-options reportDir=/mnt/postgsail/,reportFilename=report_api.html
|
||||
*
|
||||
*/
|
||||
|
||||
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
||||
|
||||
const supertest = require("supertest");
|
||||
// Deprecated
|
||||
const should = require("should");
|
||||
//const chai = require("chai");
|
||||
//const should = chai.should();
|
||||
let request = null;
|
||||
let user_jwt = null;
|
||||
var moment = require("moment");
|
||||
|
||||
// Users Array
|
||||
[
|
||||
{
|
||||
cname: process.env.PGSAIL_API_URI,
|
||||
name: "PostgSail unit test kapla",
|
||||
signin: {
|
||||
email: "demo+kapla@openplotter.cloud",
|
||||
pass: "test",
|
||||
firstname: "First_kapla",
|
||||
lastname: "Last_kapla",
|
||||
},
|
||||
login: { email: "demo+kapla@openplotter.cloud", pass: "test" },
|
||||
preferences: { key: "{email_valid}", value: false },
|
||||
email_otp: [
|
||||
{
|
||||
url: "/rpc/generate_otp_fn",
|
||||
payload: { email: "demo+kapla@openplotter.cloud" },
|
||||
res: {
|
||||
otp: 0,
|
||||
},
|
||||
},
|
||||
{
|
||||
url: "/rpc/email_fn",
|
||||
payload: { token: null },
|
||||
res: {
|
||||
obj_name: "settings",
|
||||
},
|
||||
},
|
||||
],
|
||||
pushover_otp: [
|
||||
{
|
||||
//url: '/rpc/generate_otp_fn',
|
||||
url: "/rpc/pushover_subscribe_link_fn",
|
||||
//payload: { email: 'demo+kapla@openplotter.cloud' },
|
||||
res: {
|
||||
obj_name: "pushover_link",
|
||||
},
|
||||
},
|
||||
{
|
||||
url: "/rpc/pushover_fn",
|
||||
payload: { token: null, pushover_user_key: "1234567890azerty!" },
|
||||
res: {
|
||||
obj_name: "settings",
|
||||
},
|
||||
},
|
||||
],
|
||||
telegram_otp: [
|
||||
{
|
||||
url: "/rpc/update_user_preferences_fn",
|
||||
payload: { key: "{email_notifications}", value: false },
|
||||
},
|
||||
{
|
||||
url: "/rpc/update_user_preferences_fn",
|
||||
payload: { key: "{phone_notifications}", value: false },
|
||||
},
|
||||
{
|
||||
//url: '/rpc/generate_otp_fn',
|
||||
url: "/rpc/telegram_otp_fn",
|
||||
payload: { email: "demo+kapla@openplotter.cloud" },
|
||||
res: {
|
||||
otp: 0,
|
||||
},
|
||||
},
|
||||
{
|
||||
url: "/rpc/telegram_fn",
|
||||
payload: {
|
||||
token: null,
|
||||
telegram_obj: {
|
||||
chat: {
|
||||
id: 1234567890,
|
||||
type: "private",
|
||||
title: null,
|
||||
all_members_are_administrators: null,
|
||||
},
|
||||
date: "NOW",
|
||||
from: {
|
||||
id: 1234567890,
|
||||
is_bot: false,
|
||||
first_name: "Kapla",
|
||||
language_code: "en",
|
||||
},
|
||||
},
|
||||
},
|
||||
res: {},
|
||||
},
|
||||
],
|
||||
telegram: { payload: { user_id: 1234567890 } },
|
||||
telegram_fn: [{ url: "/rpc/vessel_fn" }, { url: "/monitoring_view" }],
|
||||
badges: {
|
||||
url: "/rpc/settings_fn",
|
||||
payload: null,
|
||||
res: {
|
||||
obj_name: "settings",
|
||||
},
|
||||
},
|
||||
monitoring: [
|
||||
{
|
||||
url: "/monitoring_view",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
{
|
||||
url: "/monitoring_view2",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
{
|
||||
url: "/monitoring_view3",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
{
|
||||
url: "/monitoring_voltage",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
{
|
||||
url: "/monitoring_temperatures",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
{
|
||||
url: "/monitoring_humidity",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
],
|
||||
eventlogs: {
|
||||
url: "/eventlogs_view",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
},
|
||||
{
|
||||
cname: process.env.PGSAIL_API_URI,
|
||||
name: "PostgSail unit test, aava",
|
||||
signin: {
|
||||
email: "demo+aava@openplotter.cloud",
|
||||
pass: "test",
|
||||
firstname: "first_aava",
|
||||
lastname: "last_aava",
|
||||
},
|
||||
login: { email: "demo+aava@openplotter.cloud", pass: "test" },
|
||||
preferences: { key: "{email_valid}", value: false },
|
||||
email_otp: [
|
||||
{
|
||||
url: "/rpc/generate_otp_fn",
|
||||
payload: { email: "demo+aava@openplotter.cloud" },
|
||||
res: {
|
||||
otp: 0,
|
||||
},
|
||||
},
|
||||
{
|
||||
url: "/rpc/email_fn",
|
||||
payload: { token: null },
|
||||
res: {
|
||||
obj_name: "settings",
|
||||
},
|
||||
},
|
||||
],
|
||||
pushover_otp: [
|
||||
{
|
||||
//url: '/rpc/generate_otp_fn',
|
||||
url: "/rpc/pushover_subscribe_link_fn",
|
||||
//payload: { email: 'demo+aava@openplotter.cloud' },
|
||||
res: {
|
||||
obj_name: "pushover_link",
|
||||
},
|
||||
},
|
||||
{
|
||||
url: "/rpc/pushover_fn",
|
||||
payload: { token: null, pushover_user_key: "0987654321qwerty!" },
|
||||
res: {
|
||||
obj_name: "settings",
|
||||
},
|
||||
},
|
||||
],
|
||||
telegram_otp: [
|
||||
{
|
||||
url: "/rpc/update_user_preferences_fn",
|
||||
payload: { key: "{email_notifications}", value: false },
|
||||
},
|
||||
{
|
||||
url: "/rpc/update_user_preferences_fn",
|
||||
payload: { key: "{phone_notifications}", value: false },
|
||||
},
|
||||
{
|
||||
//url: '/rpc/generate_otp_fn',
|
||||
url: "/rpc/telegram_otp_fn",
|
||||
payload: { email: "demo+aava@openplotter.cloud" },
|
||||
res: {
|
||||
otp: 0,
|
||||
},
|
||||
},
|
||||
{
|
||||
url: "/rpc/telegram_fn",
|
||||
payload: {
|
||||
token: null,
|
||||
telegram_obj: {
|
||||
chat: {
|
||||
id: 9876543210,
|
||||
type: "private",
|
||||
title: null,
|
||||
all_members_are_administrators: null,
|
||||
},
|
||||
date: "NOW",
|
||||
from: {
|
||||
id: 9876543210,
|
||||
is_bot: false,
|
||||
first_name: "Aava",
|
||||
language_code: "en",
|
||||
},
|
||||
},
|
||||
},
|
||||
res: {},
|
||||
},
|
||||
],
|
||||
telegram: { payload: { user_id: 9876543210 } },
|
||||
telegram_fn: [{ url: "/rpc/vessel_fn" }, { url: "/monitoring_view" }],
|
||||
badges: {
|
||||
url: "/rpc/settings_fn",
|
||||
payload: null,
|
||||
res: {
|
||||
obj_name: "settings",
|
||||
},
|
||||
},
|
||||
monitoring: [
|
||||
{
|
||||
url: "/monitoring_view",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
{
|
||||
url: "/monitoring_view2",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
{
|
||||
url: "/monitoring_view3",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
{
|
||||
url: "/monitoring_voltage",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
{
|
||||
url: "/monitoring_temperatures",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
{
|
||||
url: "/monitoring_humidity",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
],
|
||||
eventlogs: {
|
||||
url: "/eventlogs_view",
|
||||
payload: null,
|
||||
res: {},
|
||||
},
|
||||
},
|
||||
].forEach(function (test) {
|
||||
//console.log(`${test.cname}`);
|
||||
describe(`${test.name}`, function () {
|
||||
request = supertest.agent(test.cname);
|
||||
request.set("User-Agent", "PostgSail unit tests");
|
||||
|
||||
describe("Get JWT user_role", function () {
|
||||
it("/rpc/signup return user_role jwt token", function (done) {
|
||||
// Reset agent so we do not save cookies
|
||||
request = supertest.agent(test.cname);
|
||||
request
|
||||
.post("/rpc/signup")
|
||||
.send(test.signin)
|
||||
.set("Accept", "application/json")
|
||||
.end(function (err, res) {
|
||||
res.status.should.equal(200);
|
||||
should.exist(res.header["content-type"]);
|
||||
should.exist(res.header["server"]);
|
||||
res.header["content-type"].should.match(new RegExp("json", "g"));
|
||||
res.header["server"].should.match(new RegExp("postgrest", "g"));
|
||||
should.exist(res.body.token);
|
||||
user_jwt = res.body.token;
|
||||
should.exist(user_jwt);
|
||||
done(err);
|
||||
});
|
||||
});
|
||||
|
||||
it("/rpc/login return user_role jwt token", function (done) {
|
||||
// Reset agent so we do not save cookies
|
||||
request = supertest.agent(test.cname);
|
||||
request
|
||||
.post("/rpc/login")
|
||||
.send(test.login)
|
||||
.set("Accept", "application/json")
|
||||
.end(function (err, res) {
|
||||
res.status.should.equal(200);
|
||||
should.exist(res.header["content-type"]);
|
||||
should.exist(res.header["server"]);
|
||||
res.header["content-type"].should.match(new RegExp("json", "g"));
|
||||
res.header["server"].should.match(new RegExp("postgrest", "g"));
|
||||
should.exist(res.body.token);
|
||||
res.body.token.should.match(user_jwt);
|
||||
console.log(user_jwt);
|
||||
should.exist(user_jwt);
|
||||
done(err);
|
||||
});
|
||||
});
|
||||
}); // JWT user_role
|
||||
|
||||
describe("Set preferences email_notifications, JWT user_role", function () {
|
||||
it("/rpc/update_user_preferences_fn return true", function (done) {
|
||||
// Reset agent so we do not save cookies
|
||||
request = supertest.agent(test.cname);
|
||||
request
|
||||
.post("/rpc/update_user_preferences_fn")
|
||||
.send(test.preferences)
|
||||
.set("Authorization", `Bearer ${user_jwt}`)
|
||||
.set("Accept", "application/json")
|
||||
.set("Content-Type", "application/json")
|
||||
.end(function (err, res) {
|
||||
res.status.should.equal(200);
|
||||
should.exist(res.header["content-type"]);
|
||||
should.exist(res.header["server"]);
|
||||
res.header["content-type"].should.match(new RegExp("json", "g"));
|
||||
res.header["server"].should.match(new RegExp("postgrest", "g"));
|
||||
//console.log(res.text);
|
||||
should.exist(res.text);
|
||||
res.text.should.match("true");
|
||||
done(err);
|
||||
});
|
||||
});
|
||||
}); // JWT user_role
|
||||
|
||||
describe("Function email OTP endpoint, JWT user_role", function () {
|
||||
let otp = null;
|
||||
test.email_otp.forEach(function (subtest) {
|
||||
it(`${subtest.url}`, function (done) {
|
||||
try {
|
||||
//console.log(`${subtest.url} ${subtest.payload}`);
|
||||
if (otp) {
|
||||
subtest.payload.token = otp;
|
||||
}
|
||||
// Reset agent so we do not save cookies
|
||||
request = supertest.agent(test.cname);
|
||||
request
|
||||
.post(subtest.url)
|
||||
.send(subtest.payload)
|
||||
.set("Authorization", `Bearer ${user_jwt}`)
|
||||
.set("Accept", "application/json")
|
||||
.end(function (err, res) {
|
||||
res.status.should.equal(200);
|
||||
should.exist(res.header["content-type"]);
|
||||
should.exist(res.header["server"]);
|
||||
res.header["content-type"].should.match(
|
||||
new RegExp("json", "g")
|
||||
);
|
||||
res.header["server"].should.match(new RegExp("postgrest", "g"));
|
||||
console.log(res.body);
|
||||
should.exist(res.body);
|
||||
if (subtest.url == "/rpc/generate_otp_fn") {
|
||||
otp = res.body;
|
||||
} else {
|
||||
res.text.should.match("true");
|
||||
}
|
||||
done(err);
|
||||
});
|
||||
} catch (error) {
|
||||
done();
|
||||
}
|
||||
});
|
||||
});
|
||||
}); // email OTP endpoint
|
||||
|
||||
describe("Function Pushover OTP endpoint, JWT user_role", function () {
|
||||
let otp = null;
|
||||
test.pushover_otp.forEach(function (subtest) {
|
||||
it(`${subtest.url}`, function (done) {
|
||||
try {
|
||||
//console.log(`${subtest.url} ${subtest.payload}`);
|
||||
if (otp) {
|
||||
subtest.payload.token = otp;
|
||||
}
|
||||
// Reset agent so we do not save cookies
|
||||
request = supertest.agent(test.cname);
|
||||
request
|
||||
.post(subtest.url)
|
||||
.send(subtest.payload)
|
||||
.set("Authorization", `Bearer ${user_jwt}`)
|
||||
.set("Accept", "application/json")
|
||||
.end(function (err, res) {
|
||||
res.status.should.equal(200);
|
||||
should.exist(res.header["content-type"]);
|
||||
should.exist(res.header["server"]);
|
||||
res.header["content-type"].should.match(
|
||||
new RegExp("json", "g")
|
||||
);
|
||||
res.header["server"].should.match(new RegExp("postgrest", "g"));
|
||||
//console.log(res.body);
|
||||
should.exist(res.body);
|
||||
if (subtest.url == "/rpc/pushover_subscribe_link_fn") {
|
||||
should.exist(res.body.pushover_link.link);
|
||||
let rx = /3D(\d+)\&/g;
|
||||
//console.log(rx.exec(res.body.pushover_link.link)[1]);
|
||||
let arr = rx.exec(res.body.pushover_link.link);
|
||||
//console.log(arr);
|
||||
console.log(arr[1]);
|
||||
otp = arr[1];
|
||||
} else {
|
||||
res.text.should.match("true");
|
||||
}
|
||||
done(err);
|
||||
});
|
||||
} catch (error) {
|
||||
done();
|
||||
}
|
||||
});
|
||||
});
|
||||
}); // pushover OTP endpoint
|
||||
|
||||
describe("Function Telegram OTP endpoint, JWT user_role", function () {
|
||||
let otp = null;
|
||||
test.telegram_otp.forEach(function (subtest) {
|
||||
it(`${subtest.url}`, function (done) {
|
||||
try {
|
||||
console.log(`${subtest.url} ${subtest.payload.email} ${otp}`);
|
||||
if (otp) {
|
||||
subtest.payload.token = otp;
|
||||
console.log(subtest.payload.telegram_obj.date);
|
||||
subtest.payload.telegram_obj.date = moment.utc().format();
|
||||
}
|
||||
// Reset agent so we do not save cookies
|
||||
request = supertest.agent(test.cname);
|
||||
request
|
||||
.post(subtest.url)
|
||||
.send(subtest.payload)
|
||||
.set("Authorization", `Bearer ${user_jwt}`)
|
||||
.set("Accept", "application/json")
|
||||
.end(function (err, res) {
|
||||
res.status.should.equal(200);
|
||||
should.exist(res.header["content-type"]);
|
||||
should.exist(res.header["server"]);
|
||||
res.header["content-type"].should.match(
|
||||
new RegExp("json", "g")
|
||||
);
|
||||
res.header["server"].should.match(new RegExp("postgrest", "g"));
|
||||
console.log(res.body);
|
||||
should.exist(res.body);
|
||||
if (subtest.url == "/rpc/telegram_otp_fn") {
|
||||
console.log(res.body.otp_code);
|
||||
otp = res.body.otp_code;
|
||||
} else {
|
||||
console.log(res.text);
|
||||
res.text.should.match("true");
|
||||
otp = null;
|
||||
}
|
||||
done(err);
|
||||
});
|
||||
} catch (error) {
|
||||
done();
|
||||
}
|
||||
});
|
||||
});
|
||||
}); // telegram OTP endpoint
|
||||
|
||||
describe("telegram session, anonymous", function () {
|
||||
it("/rpc/telegram return jwt token", function (done) {
|
||||
// Reset agent so we do not save cookies
|
||||
request = supertest.agent(test.cname);
|
||||
request
|
||||
.post("/rpc/telegram")
|
||||
.send(test.telegram.payload)
|
||||
.set("Accept", "application/json")
|
||||
.set("Content-Type", "application/json")
|
||||
.end(function (err, res) {
|
||||
res.status.should.equal(200);
|
||||
should.exist(res.header["content-type"]);
|
||||
should.exist(res.header["server"]);
|
||||
res.header["content-type"].should.match(new RegExp("json", "g"));
|
||||
res.header["server"].should.match(new RegExp("postgrest", "g"));
|
||||
should.exist(res.body.token);
|
||||
user_jwt = res.body.token;
|
||||
console.log(res.body.token);
|
||||
done(err);
|
||||
});
|
||||
});
|
||||
}); // anonymous JWT
|
||||
|
||||
describe("Telegram endpoint, JWT user_role", function () {
|
||||
let otp = null;
|
||||
test.telegram_fn.forEach(function (subtest) {
|
||||
it(`${subtest.url}`, function (done) {
|
||||
try {
|
||||
//console.log(`${subtest.url} ${subtest.res_body_length}`);
|
||||
// Reset agent so we do not save cookies
|
||||
request = supertest.agent(test.cname);
|
||||
request
|
||||
.get(subtest.url)
|
||||
.set("Authorization", `Bearer ${user_jwt}`)
|
||||
.set("Accept", "application/json")
|
||||
.end(function (err, res) {
|
||||
res.status.should.equal(200);
|
||||
should.exist(res.header["content-type"]);
|
||||
should.exist(res.header["server"]);
|
||||
res.header["content-type"].should.match(
|
||||
new RegExp("json", "g")
|
||||
);
|
||||
res.header["server"].should.match(new RegExp("postgrest", "g"));
|
||||
console.log(res.body);
|
||||
should.exist(res.body);
|
||||
done(err);
|
||||
});
|
||||
} catch (error) {
|
||||
done();
|
||||
}
|
||||
});
|
||||
});
|
||||
}); // Function endpoint
|
||||
|
||||
/*
|
||||
describe("Function others endpoint, JWT user_role", function(){
|
||||
|
||||
let otp = null;
|
||||
test.others_fn.forEach(function (subtest) {
|
||||
it(`${subtest.url}`, function(done) {
|
||||
try {
|
||||
//console.log(`${subtest.url} ${subtest.res_body_length}`);
|
||||
// Reset agent so we do not save cookies
|
||||
request = supertest.agent(test.cname);
|
||||
request
|
||||
.post(subtest.url)
|
||||
.send(subtest.payload)
|
||||
.set('Authorization', `Bearer ${user_jwt}`)
|
||||
.set('Accept', 'application/json')
|
||||
.end(function(err,res){
|
||||
res.status.should.equal(200);
|
||||
should.exist(res.header['content-type']);
|
||||
should.exist(res.header['server']);
|
||||
res.header['content-type'].should.match(new RegExp('json','g'));
|
||||
res.header['server'].should.match(new RegExp('postgrest','g'));
|
||||
//console.log(res.body);
|
||||
should.exist(res.body);
|
||||
if (subtest.url == '/rpc/generate_otp_fn') {
|
||||
otp = res.body.text();
|
||||
}
|
||||
done(err);
|
||||
});
|
||||
}
|
||||
catch (error) {
|
||||
done();
|
||||
}
|
||||
});
|
||||
});
|
||||
}); // Function endpoint
|
||||
*/
|
||||
|
||||
describe("Badges, user jwt", function () {
|
||||
it("/rpc/settings_fn return user settings", function (done) {
|
||||
// Reset agent so we do not save cookies
|
||||
request = supertest.agent(test.cname);
|
||||
request
|
||||
.post("/rpc/settings_fn")
|
||||
.set("Authorization", `Bearer ${user_jwt}`)
|
||||
.set("Accept", "application/json")
|
||||
.end(function (err, res) {
|
||||
res.status.should.equal(200);
|
||||
should.exist(res.header["content-type"]);
|
||||
should.exist(res.header["server"]);
|
||||
res.header["content-type"].should.match(new RegExp("json", "g"));
|
||||
res.header["server"].should.match(new RegExp("postgrest", "g"));
|
||||
console.log(res.body);
|
||||
should.exist(res.body.settings);
|
||||
should.exist(res.body.settings.preferences.badges)
|
||||
let badges = res.body.settings.preferences.badges;
|
||||
//console.log(Object.keys(badges));
|
||||
Object.keys(badges).length.should.be.aboveOrEqual(3);
|
||||
(badges).should.have.properties('Helmsman', 'Wake Maker', 'Stormtrooper');
|
||||
done(err);
|
||||
});
|
||||
});
|
||||
}); // user JWT
|
||||
|
||||
describe("Function monitoring endpoint, JWT user_role", function () {
|
||||
let otp = null;
|
||||
test.monitoring.forEach(function (subtest) {
|
||||
it(`${subtest.url}`, function (done) {
|
||||
try {
|
||||
// Reset agent so we do not save cookies
|
||||
request = supertest.agent(test.cname);
|
||||
request
|
||||
.get(subtest.url)
|
||||
.set("Authorization", `Bearer ${user_jwt}`)
|
||||
.set("Accept", "application/json")
|
||||
.end(function (err, res) {
|
||||
res.status.should.equal(200);
|
||||
should.exist(res.header["content-type"]);
|
||||
should.exist(res.header["server"]);
|
||||
res.header["content-type"].should.match(
|
||||
new RegExp("json", "g")
|
||||
);
|
||||
res.header["server"].should.match(new RegExp("postgrest", "g"));
|
||||
//console.log(res.body);
|
||||
should.exist(res.body);
|
||||
//let monitoring = res.body;
|
||||
//console.log(monitoring);
|
||||
// minimum set for static monitoring page
|
||||
// no value for humidity monitoring
|
||||
//monitoring.length.should.be.aboveOrEqual(21);
|
||||
done(err);
|
||||
});
|
||||
} catch (error) {
|
||||
done();
|
||||
}
|
||||
});
|
||||
});
|
||||
}); // Monitoring endpoint
|
||||
|
||||
describe("Event Logs, user jwt", function () {
|
||||
it("/eventlogs_view endpoint, list process_queue, JWT user_role", function (done) {
|
||||
// Reset agent so we do not save cookies
|
||||
request = supertest.agent(test.cname);
|
||||
request
|
||||
.get("/eventlogs_view")
|
||||
.set("Authorization", `Bearer ${user_jwt}`)
|
||||
.set("Accept", "application/json")
|
||||
.end(function (err, res) {
|
||||
res.status.should.equal(200);
|
||||
should.exist(res.header["content-type"]);
|
||||
should.exist(res.header["server"]);
|
||||
res.header["content-type"].should.match(new RegExp("json", "g"));
|
||||
res.header["server"].should.match(new RegExp("postgrest", "g"));
|
||||
//console.log(res.body);
|
||||
should.exist(res.body);
|
||||
let event = res.body;
|
||||
//console.log(event);
|
||||
// minimum events log for kapla & aava 13 + 4 email_otp = 17
|
||||
event.length.should.be.aboveOrEqual(13);
|
||||
done(err);
|
||||
});
|
||||
});
|
||||
}); // user JWT
|
||||
|
||||
}); // OpenAPI description
|
||||
}); // Users Array
|
Reference in New Issue
Block a user