* Added direct join functionality * Completed CreateUser test suite * Removed non-essential imports * Reordered test functions * Login test suite completed * Completed Logout test suite * Completed RequestReset test suite * Completed ResetPassword test suite * Completed UpdateUserDetails test suite * Completed SetAudio test suite * Fixed UpdateUserDetials suite * GetUserDetails test suite complete * Completed ResetPassword test suite * Completed GetMemberOrgs test suite * Completed GetOwnedOrgs test suite * AddOrgMember test suite added * Created CreateOrg test suite * Modified AddOrgMember suite * Delete Org test suite completed * Completed GetOrg test suite * Completed RemoveOrgMember test suite * Completed UpdateOrgDetails test suite * Changed oackage,json files * Switched project over to workspaces * Test build script completed * Fixed config.json missing on workflow run * Completed test-build.js.yml * Completed test-build.js.yml * Completed test-build.js.yml * Test build completed * Completed test-build.js.yml * Added touch server * Touched test-build.js.yml * Reworked workflows and automated test suite (#7) Reworked workflows and automated test suite (#7) * Configured new js file and isolated database files in db folder (#10) * Changed config.js and isolated db * Configured new js file and isolated database files in db folder * Removed .env files from config (#11)
68 lines
1.6 KiB
JavaScript
68 lines
1.6 KiB
JavaScript
const forge = require('node-forge');
|
|
const { User, Organization } = require('../db/models/index');
|
|
|
|
async function createTestUser(firstName, lastName, password) {
|
|
const hashedPassword = forge.md.sha512
|
|
.create()
|
|
.update(password)
|
|
.digest()
|
|
.toHex();
|
|
const userInfo = {
|
|
firstName: firstName,
|
|
lastName: lastName,
|
|
email: `${firstName.toLowerCase()}.${lastName.toLowerCase()}@test.com`,
|
|
pronouns: 'they/them',
|
|
password: hashedPassword,
|
|
};
|
|
|
|
return await User.create(userInfo);
|
|
}
|
|
|
|
async function createTestOrg(orgName, owner) {
|
|
const hashedPassword = forge.md.sha512
|
|
.create()
|
|
.update(owner.password)
|
|
.digest()
|
|
.toHex();
|
|
const userInfo = {
|
|
...owner,
|
|
email: `${owner.firstName.toLowerCase()}.${owner.lastName.toLowerCase()}@test.com`,
|
|
pronouns: 'they/them',
|
|
password: hashedPassword,
|
|
};
|
|
|
|
const user = await User.create(userInfo);
|
|
const org = await user.createOwnedOrg({ orgName });
|
|
|
|
return org;
|
|
}
|
|
|
|
async function createTestToken(owner) {
|
|
const user = await createTestUser(
|
|
owner.firstName,
|
|
owner.lastName,
|
|
owner.password
|
|
);
|
|
return await user.createToken({
|
|
userID: user.userID,
|
|
expires: true,
|
|
});
|
|
}
|
|
|
|
async function createTestResetRequest(owner) {
|
|
const user = await createTestUser(
|
|
owner.firstName,
|
|
owner.lastName,
|
|
owner.password
|
|
);
|
|
return await user.createResetRequest({
|
|
userID: user.userID,
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
createTestUser,
|
|
createTestOrg,
|
|
createTestToken,
|
|
createTestResetRequest,
|
|
};
|