fix: Fix mock-api login functionality
Squashed commit of the following: commit 9022427d59290dfd2b08c4a076d6b0690d44d926 Author: Daniel Appelgren <daniel.appelgren@arbetsformedlingen.se> Date: Mon Sep 13 13:25:05 2021 +0200 Update mock-apis
This commit is contained in:
@@ -9,12 +9,16 @@ const AUTHORIZATIONS = ['Hantera användare', 'Hantera origisation', 'Hantera ek
|
||||
|
||||
function generateCurrentUser() {
|
||||
return {
|
||||
id: faker.datatype.uuid(),
|
||||
ciamUserId: faker.datatype.uuid(),
|
||||
firstName: faker.name.firstName(),
|
||||
lastName: faker.name.lastName(),
|
||||
roles: ['Admin'],
|
||||
organizations: chooseRandom(ORGANIZATIONS, ORGANIZATIONS.length),
|
||||
authorizations: chooseRandom(AUTHORIZATIONS, faker.datatype.number(3)),
|
||||
email: faker.internet.email(),
|
||||
roles: ['MSFA_AuthAdmin', 'MSFA_ReceiveDeltagare', 'MSFA_ReportAndPlanning', 'MSFA_Standard'],
|
||||
ssn: '7010215791',
|
||||
status: 'Enabled',
|
||||
tjanster: [{ tjansteKod: 'A012', namn: 'Rusta och matcha' }],
|
||||
allaUtforandeVerksamheter: true,
|
||||
utforandeVerksamheter: [],
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ import fs from 'fs';
|
||||
import { authTokens } from './auth-tokens.js';
|
||||
import avrop from './avrop.js';
|
||||
import currentUser from './current-user.js';
|
||||
import userinfo from './userinfo.js';
|
||||
import deltagare from './deltagare.js';
|
||||
import employees from './employees.js';
|
||||
import handledare from './handledare.js';
|
||||
@@ -9,12 +10,23 @@ import languages from './languages.js';
|
||||
import participants from './participants.js';
|
||||
import tjanster from './tjanster.js';
|
||||
import chooseRandom from './utils/choose-random.util.js';
|
||||
import organizations from './organizations.js';
|
||||
|
||||
const ORGANIZATIONS = organizations.generate();
|
||||
const AUTHORIZATIONS = ['Hantera användare', 'Hantera origisation', 'Hantera ekonomi'];
|
||||
|
||||
const generatedEmployees = employees.generate(50);
|
||||
const generatedDeltagare = deltagare.generate(50);
|
||||
const generatedHandledare = handledare.generate(generatedEmployees.slice(0, 6));
|
||||
const generatedAvrop = avrop.generate(10, generatedDeltagare.slice(0, 25), generatedHandledare);
|
||||
const generatedTjanster = tjanster.generate();
|
||||
const generatedCurrentUser = currentUser.generate();
|
||||
const generatedOrganizations = chooseRandom(ORGANIZATIONS, ORGANIZATIONS.length);
|
||||
const generatedUserinfo = {
|
||||
...userinfo.generate(),
|
||||
firstName: generatedCurrentUser.firstName,
|
||||
lastName: generatedCurrentUser.lastName,
|
||||
};
|
||||
const avropTjanster = [];
|
||||
const utforandeVerksamheter = [];
|
||||
const avropKommuner = [];
|
||||
@@ -96,7 +108,9 @@ const apiData = {
|
||||
...participant,
|
||||
employeeId: generatedEmployees[Math.floor(Math.random() * generatedEmployees.length)].id,
|
||||
})),
|
||||
currentUser: currentUser.generate(),
|
||||
currentUser: generatedCurrentUser,
|
||||
organizations: generatedOrganizations,
|
||||
userinfo: generatedUserinfo,
|
||||
getTokenFullAccess: authTokens.auth_code_from_CIAM_with_all_permissions,
|
||||
invites: [],
|
||||
minaDeltagare: chooseRandom(generatedAvrop, 3),
|
||||
|
||||
@@ -8,7 +8,7 @@ function generateOrganizations(amount = 4) {
|
||||
for (let i = 1; i <= amount; ++i) {
|
||||
organizations.push({
|
||||
name: faker.company.companyName(),
|
||||
organizationNumber: faker.datatype.uuid(),
|
||||
organizationnumber: faker.datatype.uuid(),
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
17
mock-api/mina-sidor-fa/scripts/userinfo.js
Normal file
17
mock-api/mina-sidor-fa/scripts/userinfo.js
Normal file
@@ -0,0 +1,17 @@
|
||||
import faker from 'faker';
|
||||
import organizations from './organizations.js';
|
||||
|
||||
faker.locale = 'sv';
|
||||
|
||||
function generateUserInfo() {
|
||||
return {
|
||||
userId: faker.datatype.uuid(),
|
||||
email: faker.internet.email(),
|
||||
signature: 'mocky',
|
||||
roles: ['MSFA_ReportAndPlanning', 'MSFA_ReceiveDeltagare', 'MSFA_Standard', 'MSFA_AuthAdmin'],
|
||||
};
|
||||
}
|
||||
|
||||
export default {
|
||||
generate: generateUserInfo,
|
||||
};
|
||||
@@ -12,15 +12,16 @@ server.use(
|
||||
'*sort=utforandeVerksamhet*': '$1sort=utforandeVerksamhet[0]$2',
|
||||
'*sort=tjanst*': '$1sort=tjanst[0]$2',
|
||||
'/users/invite*': '/invites$1',
|
||||
'/users*': '/employees$1',
|
||||
'/employees*search=*': '/employees$1fullName_like=$2',
|
||||
'/employees*onlyEmployeesWithoutAuthorization=*': '/employees$1roles.length_lte=1',
|
||||
'/employees*': '/employees$1',
|
||||
'/services*': '/tjanster$1',
|
||||
'/participants': '/participants?_embed=employees',
|
||||
'/participant/:id': '/participants/:id?_embed=employees',
|
||||
'/auth/userinfo': '/currentUser',
|
||||
'/auth/organizations': '/currentUser',
|
||||
'/auth/userinfo': '/userinfo',
|
||||
'/auth/organizations': '/organizations',
|
||||
'/users/currentUser': '/currentUser',
|
||||
'/users*': '/employees$1',
|
||||
'/avrop/tjanster*': '/avropTjanster$1',
|
||||
'/avrop/handledare*': '/handledare$1',
|
||||
'/avrop/utforandeverksamheter*': '/utforandeVerksamheter$1',
|
||||
@@ -80,25 +81,10 @@ router.render = (req, res) => {
|
||||
}
|
||||
|
||||
let data = res.locals.data;
|
||||
const employeeRegex = /(?:\/users\/)(.*)/;
|
||||
const isEmployeePath = employeeRegex.exec(pathname);
|
||||
const deltagareRegex = /(?:\/deltagare\/)(?:\d*\/)(contact|driverlicense|educationlevels\/highest|educations|translator|work\/disabilities|work\/languages|work\/experiences)/g;
|
||||
const isDeltagarePath = deltagareRegex.exec(pathname);
|
||||
const avropRegex = /(?:\/avrop\/(?:tjanster|utforandeverksamheter|kommuner|\d))|(?:\/deltagare\/\d\/(avrop))/g;
|
||||
const isAvropPath = avropRegex.exec(pathname);
|
||||
const authRegex = /(?:\/auth\/)(userinfo|organizations)/g;
|
||||
const isAuthPath = authRegex.exec(pathname);
|
||||
|
||||
if (isAuthPath) {
|
||||
const authSubPath = isAuthPath[1];
|
||||
|
||||
if (authSubPath === 'organizations') {
|
||||
data = res.locals.data[authSubPath].map(organization => ({
|
||||
name: organization.name,
|
||||
organizationnumber: organization.organizationNumber,
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
if (isDeltagarePath) {
|
||||
const deltagareSubPath = getDeltagareSubPath(isDeltagarePath[1]);
|
||||
|
||||
Reference in New Issue
Block a user