@getjones/test-infra 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getjones/test-infra",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "Providing internal and openapi interface",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -0,0 +1,6 @@
1
+ const ACCOUNT_TYPES = {
2
+ PROPERTY: 'Property Management',
3
+ CONSTRUCTION: 'Construction'
4
+ };
5
+
6
+ module.exports = { ACCOUNT_TYPES };
@@ -6,6 +6,7 @@ const settingsModels = { UpdateAccountSettingsModel };
6
6
 
7
7
  const models = { core: coreModels, settings: settingsModels };
8
8
  const utils = require('./utils/utils');
9
+ const consts = require('./consts/consts');
9
10
 
10
11
  const coreService = require('./api/core/accounts.core.service');
11
12
  const openApiServices = require('./api/openapi/accounts.openapi.service');
@@ -17,4 +18,4 @@ const services = {
17
18
  settings: settingsServices
18
19
  };
19
20
 
20
- module.exports = { services, models, utils };
21
+ module.exports = { services, models, utils, consts };
@@ -1,15 +1,16 @@
1
1
  const env = require('../../../../../env');
2
2
  const { credentials, accountCreationSecret } = env.getEnv();
3
- const PROPERTY_TYPE = 'Property Management';
3
+ const { ACCOUNT_TYPES } = require('../../consts/consts');
4
4
 
5
- function CreateAccountModel(accountName, email, password = credentials.strongPassword,
6
- secret = accountCreationSecret, propertyType = PROPERTY_TYPE) {
7
- this.companyName = accountName;
8
- this.email = email;
9
- this.password = password;
10
- this.verifyPassword = password;
11
- this.secret = secret;
12
- this.userType = propertyType;
5
+ class CreateAccountModel {
6
+ constructor(accountName, email, password = credentials.strongPassword, propertyType = ACCOUNT_TYPES.PROPERTY) {
7
+ this.companyName = accountName;
8
+ this.email = email;
9
+ this.password = password;
10
+ this.verifyPassword = password;
11
+ this.userType = propertyType;
12
+ this.secret = accountCreationSecret;
13
+ }
13
14
  }
14
15
 
15
16
  module.exports = CreateAccountModel;
@@ -2,11 +2,17 @@ const requests = require('../../../../common/requests/cookieAuth/requests');
2
2
  const { backendUrl } = require('../../../../env').getEnv();
3
3
 
4
4
  const Endpoints = {
5
- login: `${backendUrl}/logincontroller`
5
+ login: `${backendUrl}/logincontroller`,
6
+ isHubUser: email => `${backendUrl}/vendor-app/is-hub-user?email=${email}`
7
+
6
8
  };
7
9
 
8
10
  const login = (email, password) => {
9
11
  return requests.postRequestHandler(Endpoints.login, { email, password });
10
12
  };
11
13
 
12
- module.exports = { login };
14
+ const vendorHubLogin = email => {
15
+ return requests.postRequestHandler(Endpoints.isHubUser(email), { email });
16
+ };
17
+
18
+ module.exports = { login, vendorHubLogin };
@@ -13,6 +13,17 @@ const getAuthCookie = async (email, password) => {
13
13
  }
14
14
  };
15
15
 
16
+ const getVendorHubAuthCookie = async email => {
17
+ try {
18
+ const response = await authApi.vendorHubLogin(email);
19
+ const authCookie = response.headers['set-cookie'].find(item => item.startsWith('JonesToken2='));
20
+
21
+ return authCookie;
22
+ } catch (error) {
23
+ throw new Error(`Failed to login to vendor hub by email:${email}`, error);
24
+ }
25
+ };
26
+
16
27
  const getIcsCookie = () => {
17
28
  requiredValidation({
18
29
  'credentials.superUser': credentials.superUser,
@@ -56,6 +67,7 @@ const getAuditorId = async () => {
56
67
 
57
68
  module.exports = {
58
69
  getAuthCookie,
70
+ getVendorHubAuthCookie,
59
71
  getIcsCookie,
60
72
  getAuditorCookie,
61
73
  getOperatorCookie,
@@ -1,7 +1,6 @@
1
1
  const auditApi = require('./audit.api');
2
2
  const { AuditRequestModel, AuditListParametersModel, AuditDatesModel } = require('../../models/audit/audit.model');
3
3
  const { validateType } = require('../../../../../common/validations/typeValidations');
4
- const env = require('../../../../../../../../src/env');
5
4
  const util = require('../../utils/util');
6
5
  const dataTypeUtils = require('../../../../../common/utils/dataTypeUtils');
7
6
 
@@ -61,7 +60,7 @@ const getAuditMetadata = async (
61
60
  contractCreateDate: vendorDetails.contractCreateDate
62
61
  };
63
62
 
64
- metadata.auditorId = await util.getAuditorId(env);
63
+ metadata.auditorId = await util.getAuditorId();
65
64
 
66
65
  return metadata;
67
66
  };
@@ -8,8 +8,9 @@ const Endpoints = {
8
8
  delete: requirementId => `${backendUrl}/saas/requirement/${requirementId}`
9
9
  };
10
10
 
11
- const createRequirement = (createRequirementModel, context) => {
12
- return requests.postRequestHandler(Endpoints.create, createRequirementModel, context);
11
+ const createRequirement = (createRequirementModel, tabId, context) => {
12
+ const params = { tabId };
13
+ return requests.postRequestHandler(Endpoints.create, createRequirementModel, context, {}, params);
13
14
  };
14
15
 
15
16
  const getRequirementsByTabId = (tabId, context) => {
@@ -4,9 +4,9 @@ const requirementUtils = require('../utils/utils');
4
4
 
5
5
  const { validateType } = require('../../../../common/validations/typeValidations');
6
6
 
7
- const createRequirement = (createRequirementModel, context) => {
7
+ const createRequirement = (createRequirementModel, tabId, context) => {
8
8
  validateType(createRequirementModel, CreateRequirementModel);
9
- return requirementsAPI.createRequirement(createRequirementModel, context);
9
+ return requirementsAPI.createRequirement(createRequirementModel, tabId, context);
10
10
  };
11
11
 
12
12
  const getRequirementsByTabId = (tabId, context) => {
@@ -35,12 +35,12 @@ const getRequirementIdByName = async (tabId, requirementName, context) => {
35
35
  return requirement ? requirement.id : requirement;
36
36
  };
37
37
 
38
- const getOrCreateRequirement = async (accountId, requirement, context, projectId, tabId) => {
38
+ const getOrCreateRequirement = async (requirement, tabId, context) => {
39
39
  let existingRequirement = await getRequirementByName(tabId, requirement.name, context);
40
40
 
41
41
  if (!existingRequirement) {
42
- const createRequirementModel = getCreateRequirementModel(requirement.policies, requirement.name, accountId, projectId, tabId);
43
- await createRequirement(createRequirementModel, context);
42
+ const createRequirementModel = getCreateRequirementModel(requirement.policies, requirement.name);
43
+ await createRequirement(createRequirementModel, tabId, context);
44
44
  existingRequirement = await getRequirementByName(tabId, requirement.name, context);
45
45
  }
46
46
 
@@ -56,8 +56,8 @@ const deleteRequirementByName = async (requirementName, tabId, context) => {
56
56
  return deleteByRequirementId(requirementToDelete.id, context);
57
57
  };
58
58
 
59
- const getCreateRequirementModel = (requirementConfig, requirementName, accountId, projectId, tabId) => {
60
- return requirementUtils.getCreateRequirementModel(requirementConfig, requirementName, accountId, projectId, tabId);
59
+ const getCreateRequirementModel = (requirementConfig, requirementName) => {
60
+ return requirementUtils.getCreateRequirementModel(requirementConfig, requirementName);
61
61
  };
62
62
 
63
63
  module.exports = {
@@ -3,35 +3,36 @@ const { validateType } = require('../../../../common/validations/typeValidations
3
3
 
4
4
  const DEFAULT_REQUIREMENT_TYPE = 'REQUIREMENT';
5
5
 
6
- function CreateRequirementModel(accountId, projectId, tabId, name, policies) {
7
- this.userId = accountId;
8
- this.projectId = projectId;
9
- this.tabId = tabId;
10
- this.name = name;
11
- this.policies = policies;
12
- this.requirementType = DEFAULT_REQUIREMENT_TYPE;
13
-
14
- validateType(policies, Array);
15
- policies && validateType(policies[0], Policy);
6
+ class CreateRequirementModel {
7
+ constructor(name, policies) {
8
+ this.name = name;
9
+ this.policies = policies;
10
+ this.requirementType = DEFAULT_REQUIREMENT_TYPE;
11
+
12
+ validateType(policies, Array);
13
+ policies && validateType(policies[0], Policy);
14
+ }
16
15
  }
17
16
 
18
- function Policy(name, attributes) {
19
- this.policyName = name;
20
- this.attributes = attributes;
17
+ class Policy {
18
+ constructor(name, attributes) {
19
+ this.policyName = name;
20
+ this.attributes = attributes;
21
21
 
22
- validateType(attributes, Array);
23
- attributes && validateType(attributes[0], Attribute);
22
+ validateType(attributes, Array);
23
+ attributes && validateType(attributes[0], Attribute);
24
+ }
24
25
  }
25
26
 
26
- function Attribute(name, type, values) {
27
- this.attributeName = name;
28
- this.type = type.value;
29
- this.values = values.map(function(value) {
30
- return { value };
31
- });
27
+ class Attribute {
28
+ constructor(name, type, values) {
29
+ this.attributeName = name;
30
+ this.type = type.value;
31
+ this.values = values.map(value => ({ value }));
32
32
 
33
- if (!AttributeTypes.get(type) || !AttributeTypes.get(type.key)) {
34
- throw TypeError(`Expected type to be instance of: ${AttributeTypes.name}`);
33
+ if (!AttributeTypes.get(type) || !AttributeTypes.get(type.key)) {
34
+ throw TypeError(`Expected type to be instance of: ${AttributeTypes.name}`);
35
+ }
35
36
  }
36
37
  }
37
38
 
@@ -76,11 +76,11 @@ const getPolicyModel = function(policyData) {
76
76
  return new models.Policy(policyData.name, attributeModels);
77
77
  };
78
78
 
79
- const getCreateRequirementModel = function(requirementConfig, requirementName, accountId, projectId, tabId) {
79
+ const getCreateRequirementModel = function(requirementConfig, requirementName) {
80
80
  const policies = parseRequirementConfig(requirementConfig);
81
81
  const policyModels = policies.map(policy => getPolicyModel(policy));
82
82
 
83
- return new models.CreateRequirementModel(accountId, projectId, tabId, requirementName, policyModels);
83
+ return new models.CreateRequirementModel(requirementName, policyModels);
84
84
  };
85
85
 
86
86
  module.exports = {