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() {
|
function generateCurrentUser() {
|
||||||
return {
|
return {
|
||||||
id: faker.datatype.uuid(),
|
ciamUserId: faker.datatype.uuid(),
|
||||||
firstName: faker.name.firstName(),
|
firstName: faker.name.firstName(),
|
||||||
lastName: faker.name.lastName(),
|
lastName: faker.name.lastName(),
|
||||||
roles: ['Admin'],
|
email: faker.internet.email(),
|
||||||
organizations: chooseRandom(ORGANIZATIONS, ORGANIZATIONS.length),
|
roles: ['MSFA_AuthAdmin', 'MSFA_ReceiveDeltagare', 'MSFA_ReportAndPlanning', 'MSFA_Standard'],
|
||||||
authorizations: chooseRandom(AUTHORIZATIONS, faker.datatype.number(3)),
|
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 { authTokens } from './auth-tokens.js';
|
||||||
import avrop from './avrop.js';
|
import avrop from './avrop.js';
|
||||||
import currentUser from './current-user.js';
|
import currentUser from './current-user.js';
|
||||||
|
import userinfo from './userinfo.js';
|
||||||
import deltagare from './deltagare.js';
|
import deltagare from './deltagare.js';
|
||||||
import employees from './employees.js';
|
import employees from './employees.js';
|
||||||
import handledare from './handledare.js';
|
import handledare from './handledare.js';
|
||||||
@@ -9,12 +10,23 @@ import languages from './languages.js';
|
|||||||
import participants from './participants.js';
|
import participants from './participants.js';
|
||||||
import tjanster from './tjanster.js';
|
import tjanster from './tjanster.js';
|
||||||
import chooseRandom from './utils/choose-random.util.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 generatedEmployees = employees.generate(50);
|
||||||
const generatedDeltagare = deltagare.generate(50);
|
const generatedDeltagare = deltagare.generate(50);
|
||||||
const generatedHandledare = handledare.generate(generatedEmployees.slice(0, 6));
|
const generatedHandledare = handledare.generate(generatedEmployees.slice(0, 6));
|
||||||
const generatedAvrop = avrop.generate(10, generatedDeltagare.slice(0, 25), generatedHandledare);
|
const generatedAvrop = avrop.generate(10, generatedDeltagare.slice(0, 25), generatedHandledare);
|
||||||
const generatedTjanster = tjanster.generate();
|
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 avropTjanster = [];
|
||||||
const utforandeVerksamheter = [];
|
const utforandeVerksamheter = [];
|
||||||
const avropKommuner = [];
|
const avropKommuner = [];
|
||||||
@@ -96,7 +108,9 @@ const apiData = {
|
|||||||
...participant,
|
...participant,
|
||||||
employeeId: generatedEmployees[Math.floor(Math.random() * generatedEmployees.length)].id,
|
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,
|
getTokenFullAccess: authTokens.auth_code_from_CIAM_with_all_permissions,
|
||||||
invites: [],
|
invites: [],
|
||||||
minaDeltagare: chooseRandom(generatedAvrop, 3),
|
minaDeltagare: chooseRandom(generatedAvrop, 3),
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ function generateOrganizations(amount = 4) {
|
|||||||
for (let i = 1; i <= amount; ++i) {
|
for (let i = 1; i <= amount; ++i) {
|
||||||
organizations.push({
|
organizations.push({
|
||||||
name: faker.company.companyName(),
|
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=utforandeVerksamhet*': '$1sort=utforandeVerksamhet[0]$2',
|
||||||
'*sort=tjanst*': '$1sort=tjanst[0]$2',
|
'*sort=tjanst*': '$1sort=tjanst[0]$2',
|
||||||
'/users/invite*': '/invites$1',
|
'/users/invite*': '/invites$1',
|
||||||
'/users*': '/employees$1',
|
|
||||||
'/employees*search=*': '/employees$1fullName_like=$2',
|
'/employees*search=*': '/employees$1fullName_like=$2',
|
||||||
'/employees*onlyEmployeesWithoutAuthorization=*': '/employees$1roles.length_lte=1',
|
'/employees*onlyEmployeesWithoutAuthorization=*': '/employees$1roles.length_lte=1',
|
||||||
'/employees*': '/employees$1',
|
'/employees*': '/employees$1',
|
||||||
'/services*': '/tjanster$1',
|
'/services*': '/tjanster$1',
|
||||||
'/participants': '/participants?_embed=employees',
|
'/participants': '/participants?_embed=employees',
|
||||||
'/participant/:id': '/participants/:id?_embed=employees',
|
'/participant/:id': '/participants/:id?_embed=employees',
|
||||||
'/auth/userinfo': '/currentUser',
|
'/auth/userinfo': '/userinfo',
|
||||||
'/auth/organizations': '/currentUser',
|
'/auth/organizations': '/organizations',
|
||||||
|
'/users/currentUser': '/currentUser',
|
||||||
|
'/users*': '/employees$1',
|
||||||
'/avrop/tjanster*': '/avropTjanster$1',
|
'/avrop/tjanster*': '/avropTjanster$1',
|
||||||
'/avrop/handledare*': '/handledare$1',
|
'/avrop/handledare*': '/handledare$1',
|
||||||
'/avrop/utforandeverksamheter*': '/utforandeVerksamheter$1',
|
'/avrop/utforandeverksamheter*': '/utforandeVerksamheter$1',
|
||||||
@@ -80,25 +81,10 @@ router.render = (req, res) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let data = res.locals.data;
|
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 deltagareRegex = /(?:\/deltagare\/)(?:\d*\/)(contact|driverlicense|educationlevels\/highest|educations|translator|work\/disabilities|work\/languages|work\/experiences)/g;
|
||||||
const isDeltagarePath = deltagareRegex.exec(pathname);
|
const isDeltagarePath = deltagareRegex.exec(pathname);
|
||||||
const avropRegex = /(?:\/avrop\/(?:tjanster|utforandeverksamheter|kommuner|\d))|(?:\/deltagare\/\d\/(avrop))/g;
|
const avropRegex = /(?:\/avrop\/(?:tjanster|utforandeverksamheter|kommuner|\d))|(?:\/deltagare\/\d\/(avrop))/g;
|
||||||
const isAvropPath = avropRegex.exec(pathname);
|
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) {
|
if (isDeltagarePath) {
|
||||||
const deltagareSubPath = getDeltagareSubPath(isDeltagarePath[1]);
|
const deltagareSubPath = getDeltagareSubPath(isDeltagarePath[1]);
|
||||||
|
|||||||
Reference in New Issue
Block a user