Skip to content

Instantly share code, notes, and snippets.

View qunabu's full-sized avatar

Mateusz Qunabu qunabu

View GitHub Profile
@qunabu
qunabu / strapi.js
Last active May 5, 2020 13:03
Strapi test helper
const fs = require("fs");
const Strapi = require("strapi");
let instance;
async function setupStrapi(entryNamesToOpen) {
if (!instance) {
//delete test database if exists
const testDataBase = `${__dirname}/../../.tmp/test.db`;
if (fs.existsSync(testDataBase)) {
@qunabu
qunabu / getJSON.js
Created January 14, 2020 21:15
getJSON
/**
* Get json from local machine
* @param {String} filename on local machine
* @returns {Promise} resolved object is JSON
*/
const getJSON = filename => {
return new Promise((resolve, reject) => {
fs.readFile(filename, (err, data) => {
if (err) {
reject(err);
{
"routes": [
{
"method": "GET",
"path": "/hi",
"handler": "Hello.hi",
"config": {
"policies": ["plugins::users-permissions.isAuthenticated"]
}
}
module.exports = {
hi: (ctx) => {
ctx.send(`Hi ${ctx.state.user.username}`);
},
};
it("should return `Hi ${user.username}`", async (done) => {
const token = await jwt(user.id);
await request(strapi.server) // app server is and instance of Class: http.Server
.get("/hi")
.set("Authorization", "Bearer " + token)
.expect(200) // Expect response http code 200
.then((data) => {
expect(data.text).toBe(`Hi ${user.username}`); // expect the response welcome text
});
done();
beforeAll(async (done) => {
user = await userFactory.createUser(strapi);
await grantPrivilage(1, "permissions.application.controllers.hello.hi");
done();
});
module.exports = ({ env }) => ({
email: {
provider: "mocknodemailer",
providerOptions: {},
settings: {},
},
});
const request = require("supertest");
const userFactory = require("./../user/factory");
const { jwt, grantPrivilage } = require("./../helpers/strapi");
describe("Hello methods", () => {
let user;
beforeAll(async (done) => {
user = await userFactory.createUser(strapi);
await grantPrivilage(1, "permissions.application.controllers.hello.hi"); // 1 is default role for new confirmed users
done();
const request = require("supertest");
const { updatePluginStore, responseHasError } = require("./../helpers/strapi");
const { createUser, defaultData, mockUserData } = require("./factory");
const nodemailerMock = require("nodemailer-mock");
describe("Default User methods", () => {
let user;
beforeAll(async (done) => {
user = await createUser(strapi);
/**
* Default data that factory use
*/
const defaultData = {
password: "1234Abc",
provider: "local",
confirmed: true,
};
/**
* Returns random username object for user creation