mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
1162 lines
40 KiB
TypeScript
1162 lines
40 KiB
TypeScript
import { NodeConnectionType } from 'n8n-workflow';
|
|
import nock from 'nock';
|
|
|
|
import { executeWorkflow } from '@test/nodes/ExecuteWorkflow';
|
|
import * as Helpers from '@test/nodes/Helpers';
|
|
import type { WorkflowTestData } from '@test/nodes/types';
|
|
|
|
import { microsoftEntraApiResponse, microsoftEntraNodeResponse } from './mocks';
|
|
|
|
describe('Gong Node', () => {
|
|
const baseUrl = 'https://graph.microsoft.com/v1.0';
|
|
|
|
beforeEach(() => {
|
|
// https://github.com/nock/nock/issues/2057#issuecomment-663665683
|
|
if (!nock.isActive()) {
|
|
nock.activate();
|
|
}
|
|
});
|
|
|
|
describe('User description', () => {
|
|
const tests: WorkflowTestData[] = [
|
|
{
|
|
description: 'should add user to group',
|
|
input: {
|
|
workflowData: {
|
|
nodes: [
|
|
{
|
|
parameters: {},
|
|
id: '416e4fc1-5055-4e61-854e-a6265256ac26',
|
|
name: "When clicking 'Test workflow'",
|
|
type: 'n8n-nodes-base.manualTrigger',
|
|
position: [820, 380],
|
|
typeVersion: 1,
|
|
},
|
|
{
|
|
parameters: {
|
|
resource: 'user',
|
|
operation: 'addGroup',
|
|
group: {
|
|
__rl: true,
|
|
mode: 'id',
|
|
value: 'a8eb60e3-0145-4d7e-85ef-c6259784761b',
|
|
},
|
|
user: {
|
|
__rl: true,
|
|
mode: 'id',
|
|
value: '87d349ed-44d7-43e1-9a83-5f2406dee5bd',
|
|
},
|
|
requestOptions: {},
|
|
},
|
|
type: 'n8n-nodes-base.microsoftEntra',
|
|
typeVersion: 1,
|
|
position: [220, 0],
|
|
id: '3429f7f2-dfca-4b72-8913-43a582e96e66',
|
|
name: 'Micosoft Entra ID',
|
|
credentials: {
|
|
microsoftEntraOAuth2Api: {
|
|
id: 'Hot2KwSMSoSmMVqd',
|
|
name: 'Microsoft Entra ID (Azure Active Directory) account',
|
|
},
|
|
},
|
|
},
|
|
],
|
|
connections: {
|
|
"When clicking 'Test workflow'": {
|
|
main: [
|
|
[
|
|
{
|
|
node: 'Micosoft Entra ID',
|
|
type: NodeConnectionType.Main,
|
|
index: 0,
|
|
},
|
|
],
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
output: {
|
|
nodeExecutionOrder: ['Start'],
|
|
nodeData: {
|
|
'Micosoft Entra ID': [microsoftEntraNodeResponse.addUserToGroup],
|
|
},
|
|
},
|
|
nock: {
|
|
baseUrl,
|
|
mocks: [
|
|
{
|
|
method: 'post',
|
|
path: '/groups/a8eb60e3-0145-4d7e-85ef-c6259784761b/members/$ref',
|
|
statusCode: 204,
|
|
requestBody: {
|
|
'@odata.id':
|
|
'https://graph.microsoft.com/v1.0/directoryObjects/87d349ed-44d7-43e1-9a83-5f2406dee5bd',
|
|
},
|
|
responseBody: {},
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
description: 'should create user',
|
|
input: {
|
|
workflowData: {
|
|
nodes: [
|
|
{
|
|
parameters: {},
|
|
id: '416e4fc1-5055-4e61-854e-a6265256ac26',
|
|
name: "When clicking 'Test workflow'",
|
|
type: 'n8n-nodes-base.manualTrigger',
|
|
position: [820, 380],
|
|
typeVersion: 1,
|
|
},
|
|
{
|
|
parameters: {
|
|
operation: 'create',
|
|
displayName: 'John Doe',
|
|
mailNickname: 'johndoe',
|
|
password: 'Test!12345',
|
|
userPrincipalName: 'johndoe@contoso.com',
|
|
additionalFields: {
|
|
aboutMe: 'About me',
|
|
ageGroup: 'Adult',
|
|
birthday: '2024-11-12T00:00:00Z',
|
|
businessPhones: '0123456789',
|
|
city: 'New York',
|
|
companyName: 'Contoso',
|
|
consentProvidedForMinor: 'Granted',
|
|
country: 'US',
|
|
department: 'IT',
|
|
employeeId: 'employee-id-123',
|
|
employeeType: 'Contractor',
|
|
forceChangePassword: 'forceChangePasswordNextSignInWithMfa',
|
|
givenName: 'John',
|
|
employeeHireDate: '2024-11-13T00:00:00Z',
|
|
employeeLeaveDateTime: '2024-11-18T00:00:00Z',
|
|
employeeOrgData: {
|
|
employeeOrgValues: {
|
|
costCenter: 'Cost Center 1',
|
|
division: 'Division 1',
|
|
},
|
|
},
|
|
interests: ['interest1', 'interest2'],
|
|
jobTitle: 'Project manager',
|
|
surname: 'Doe',
|
|
mail: 'johndoe@contoso.com',
|
|
mobilePhone: '+123456789',
|
|
mySite: 'My Site',
|
|
officeLocation: 'New York',
|
|
onPremisesImmutableId: 'premiseid123',
|
|
otherMails: ['johndoe2@contoso.com', 'johndoe3@contoso.com'],
|
|
passwordPolicies: ['DisablePasswordExpiration', 'DisableStrongPassword'],
|
|
pastProjects: ['project1', 'project2'],
|
|
postalCode: '0123456',
|
|
preferredLanguage: 'en-US',
|
|
responsibilities: ['responsibility1', 'responsibility2'],
|
|
schools: ['school1', 'school2'],
|
|
skills: ['skill1', 'skill2'],
|
|
state: 'New York',
|
|
streetAddress: 'Street 123',
|
|
usageLocation: 'US',
|
|
userType: 'Guest',
|
|
},
|
|
requestOptions: {},
|
|
},
|
|
type: 'n8n-nodes-base.microsoftEntra',
|
|
typeVersion: 1,
|
|
position: [220, 0],
|
|
id: '3429f7f2-dfca-4b72-8913-43a582e96e66',
|
|
name: 'Micosoft Entra ID',
|
|
credentials: {
|
|
microsoftEntraOAuth2Api: {
|
|
id: 'Hot2KwSMSoSmMVqd',
|
|
name: 'Microsoft Entra ID (Azure Active Directory) account',
|
|
},
|
|
},
|
|
},
|
|
],
|
|
connections: {
|
|
"When clicking 'Test workflow'": {
|
|
main: [
|
|
[
|
|
{
|
|
node: 'Micosoft Entra ID',
|
|
type: NodeConnectionType.Main,
|
|
index: 0,
|
|
},
|
|
],
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
output: {
|
|
nodeExecutionOrder: ['Start'],
|
|
nodeData: {
|
|
'Micosoft Entra ID': [microsoftEntraNodeResponse.createUser],
|
|
},
|
|
},
|
|
nock: {
|
|
baseUrl,
|
|
mocks: [
|
|
{
|
|
method: 'post',
|
|
path: '/users',
|
|
statusCode: 201,
|
|
requestBody: {
|
|
accountEnabled: true,
|
|
displayName: 'John Doe',
|
|
mailNickname: 'johndoe',
|
|
passwordProfile: {
|
|
password: 'Test!12345',
|
|
},
|
|
userPrincipalName: 'johndoe@contoso.com',
|
|
},
|
|
responseBody: microsoftEntraApiResponse.postUser,
|
|
},
|
|
{
|
|
method: 'patch',
|
|
path: `/users/${microsoftEntraApiResponse.postUser.id}`,
|
|
statusCode: 204,
|
|
requestBody: {
|
|
ageGroup: 'Adult',
|
|
businessPhones: ['0123456789'],
|
|
city: 'New York',
|
|
companyName: 'Contoso',
|
|
consentProvidedForMinor: 'Granted',
|
|
country: 'US',
|
|
department: 'IT',
|
|
employeeId: 'employee-id-123',
|
|
employeeType: 'Contractor',
|
|
givenName: 'John',
|
|
employeeHireDate: '2024-11-13T00:00:00.000Z',
|
|
employeeLeaveDateTime: '2024-11-18T00:00:00.000Z',
|
|
employeeOrgData: {
|
|
costCenter: 'Cost Center 1',
|
|
division: 'Division 1',
|
|
},
|
|
jobTitle: 'Project manager',
|
|
surname: 'Doe',
|
|
mail: 'johndoe@contoso.com',
|
|
mobilePhone: '+123456789',
|
|
officeLocation: 'New York',
|
|
onPremisesImmutableId: 'premiseid123',
|
|
otherMails: ['johndoe2@contoso.com', 'johndoe3@contoso.com'],
|
|
passwordPolicies: 'DisablePasswordExpiration,DisableStrongPassword',
|
|
passwordProfile: {
|
|
forceChangePasswordNextSignInWithMfa: true,
|
|
},
|
|
postalCode: '0123456',
|
|
preferredLanguage: 'en-US',
|
|
state: 'New York',
|
|
streetAddress: 'Street 123',
|
|
usageLocation: 'US',
|
|
userType: 'Guest',
|
|
},
|
|
responseBody: {},
|
|
},
|
|
{
|
|
method: 'patch',
|
|
path: `/users/${microsoftEntraApiResponse.postUser.id}`,
|
|
statusCode: 204,
|
|
requestBody: {
|
|
aboutMe: 'About me',
|
|
birthday: '2024-11-12T00:00:00.000Z',
|
|
interests: ['interest1', 'interest2'],
|
|
mySite: 'My Site',
|
|
pastProjects: ['project1', 'project2'],
|
|
responsibilities: ['responsibility1', 'responsibility2'],
|
|
schools: ['school1', 'school2'],
|
|
skills: ['skill1', 'skill2'],
|
|
},
|
|
responseBody: {},
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
description: 'should delete user',
|
|
input: {
|
|
workflowData: {
|
|
nodes: [
|
|
{
|
|
parameters: {},
|
|
id: '416e4fc1-5055-4e61-854e-a6265256ac26',
|
|
name: "When clicking 'Test workflow'",
|
|
type: 'n8n-nodes-base.manualTrigger',
|
|
position: [820, 380],
|
|
typeVersion: 1,
|
|
},
|
|
{
|
|
parameters: {
|
|
resource: 'user',
|
|
operation: 'delete',
|
|
user: {
|
|
__rl: true,
|
|
value: '87d349ed-44d7-43e1-9a83-5f2406dee5bd',
|
|
mode: 'id',
|
|
},
|
|
options: {},
|
|
requestOptions: {},
|
|
},
|
|
type: 'n8n-nodes-base.microsoftEntra',
|
|
typeVersion: 1,
|
|
position: [220, 0],
|
|
id: '3429f7f2-dfca-4b72-8913-43a582e96e66',
|
|
name: 'Micosoft Entra ID',
|
|
credentials: {
|
|
microsoftEntraOAuth2Api: {
|
|
id: 'Hot2KwSMSoSmMVqd',
|
|
name: 'Microsoft Entra ID (Azure Active Directory) account',
|
|
},
|
|
},
|
|
},
|
|
],
|
|
connections: {
|
|
"When clicking 'Test workflow'": {
|
|
main: [
|
|
[
|
|
{
|
|
node: 'Micosoft Entra ID',
|
|
type: NodeConnectionType.Main,
|
|
index: 0,
|
|
},
|
|
],
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
output: {
|
|
nodeExecutionOrder: ['Start'],
|
|
nodeData: {
|
|
'Micosoft Entra ID': [microsoftEntraNodeResponse.deleteUser],
|
|
},
|
|
},
|
|
nock: {
|
|
baseUrl,
|
|
mocks: [
|
|
{
|
|
method: 'delete',
|
|
path: '/users/87d349ed-44d7-43e1-9a83-5f2406dee5bd',
|
|
statusCode: 204,
|
|
responseBody: {},
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
description: 'should get user',
|
|
input: {
|
|
workflowData: {
|
|
nodes: [
|
|
{
|
|
parameters: {},
|
|
id: '416e4fc1-5055-4e61-854e-a6265256ac26',
|
|
name: "When clicking 'Test workflow'",
|
|
type: 'n8n-nodes-base.manualTrigger',
|
|
position: [820, 380],
|
|
typeVersion: 1,
|
|
},
|
|
{
|
|
parameters: {
|
|
resource: 'user',
|
|
operation: 'get',
|
|
user: {
|
|
__rl: true,
|
|
value: '87d349ed-44d7-43e1-9a83-5f2406dee5bd',
|
|
mode: 'id',
|
|
},
|
|
output: 'raw',
|
|
requestOptions: {},
|
|
},
|
|
type: 'n8n-nodes-base.microsoftEntra',
|
|
typeVersion: 1,
|
|
position: [220, 0],
|
|
id: '3429f7f2-dfca-4b72-8913-43a582e96e66',
|
|
name: 'Micosoft Entra ID',
|
|
credentials: {
|
|
microsoftEntraOAuth2Api: {
|
|
id: 'Hot2KwSMSoSmMVqd',
|
|
name: 'Microsoft Entra ID (Azure Active Directory) account',
|
|
},
|
|
},
|
|
},
|
|
],
|
|
connections: {
|
|
"When clicking 'Test workflow'": {
|
|
main: [
|
|
[
|
|
{
|
|
node: 'Micosoft Entra ID',
|
|
type: NodeConnectionType.Main,
|
|
index: 0,
|
|
},
|
|
],
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
output: {
|
|
nodeExecutionOrder: ['Start'],
|
|
nodeData: {
|
|
'Micosoft Entra ID': [microsoftEntraNodeResponse.getUser],
|
|
},
|
|
},
|
|
nock: {
|
|
baseUrl,
|
|
mocks: [
|
|
{
|
|
method: 'get',
|
|
path: '/users/87d349ed-44d7-43e1-9a83-5f2406dee5bd?$select=id,accountEnabled,ageGroup,assignedLicenses,assignedPlans,authorizationInfo,businessPhones,city,companyName,consentProvidedForMinor,country,createdDateTime,creationType,customSecurityAttributes,deletedDateTime,department,displayName,employeeHireDate,employeeId,employeeLeaveDateTime,employeeOrgData,employeeType,externalUserState,externalUserStateChangeDateTime,faxNumber,givenName,identities,imAddresses,isManagementRestricted,isResourceAccount,jobTitle,lastPasswordChangeDateTime,legalAgeGroupClassification,licenseAssignmentStates,mail,mailNickname,mobilePhone,officeLocation,onPremisesDistinguishedName,onPremisesDomainName,onPremisesExtensionAttributes,onPremisesImmutableId,onPremisesLastSyncDateTime,onPremisesProvisioningErrors,onPremisesSamAccountName,onPremisesSecurityIdentifier,onPremisesSyncEnabled,onPremisesUserPrincipalName,otherMails,passwordPolicies,passwordProfile,postalCode,preferredDataLocation,preferredLanguage,provisionedPlans,proxyAddresses,securityIdentifier,serviceProvisioningErrors,showInAddressList,signInSessionsValidFromDateTime,state,streetAddress,surname,usageLocation,userPrincipalName,userType',
|
|
statusCode: 200,
|
|
responseBody: microsoftEntraApiResponse.getUser,
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
description: 'should get user with options',
|
|
input: {
|
|
workflowData: {
|
|
nodes: [
|
|
{
|
|
parameters: {},
|
|
id: '416e4fc1-5055-4e61-854e-a6265256ac26',
|
|
name: "When clicking 'Test workflow'",
|
|
type: 'n8n-nodes-base.manualTrigger',
|
|
position: [820, 380],
|
|
typeVersion: 1,
|
|
},
|
|
{
|
|
parameters: {
|
|
resource: 'user',
|
|
operation: 'get',
|
|
user: {
|
|
__rl: true,
|
|
value: '87d349ed-44d7-43e1-9a83-5f2406dee5bd',
|
|
mode: 'id',
|
|
},
|
|
output: 'fields',
|
|
fields: [
|
|
'aboutMe',
|
|
'accountEnabled',
|
|
'ageGroup',
|
|
'assignedLicenses',
|
|
'assignedPlans',
|
|
'authorizationInfo',
|
|
'birthday',
|
|
'businessPhones',
|
|
'city',
|
|
'companyName',
|
|
'consentProvidedForMinor',
|
|
'country',
|
|
'createdDateTime',
|
|
'creationType',
|
|
'customSecurityAttributes',
|
|
'deletedDateTime',
|
|
'department',
|
|
'displayName',
|
|
'employeeHireDate',
|
|
'employeeId',
|
|
'employeeLeaveDateTime',
|
|
'employeeOrgData',
|
|
'externalUserStateChangeDateTime',
|
|
'externalUserState',
|
|
'employeeType',
|
|
'faxNumber',
|
|
'givenName',
|
|
'hireDate',
|
|
'identities',
|
|
'imAddresses',
|
|
'interests',
|
|
'isManagementRestricted',
|
|
'isResourceAccount',
|
|
'jobTitle',
|
|
'lastPasswordChangeDateTime',
|
|
'legalAgeGroupClassification',
|
|
'licenseAssignmentStates',
|
|
'mail',
|
|
'mailNickname',
|
|
'mobilePhone',
|
|
'mySite',
|
|
'officeLocation',
|
|
'onPremisesDistinguishedName',
|
|
'onPremisesDomainName',
|
|
'onPremisesExtensionAttributes',
|
|
'onPremisesImmutableId',
|
|
'onPremisesLastSyncDateTime',
|
|
'onPremisesProvisioningErrors',
|
|
'onPremisesSamAccountName',
|
|
'onPremisesSecurityIdentifier',
|
|
'onPremisesSyncEnabled',
|
|
'onPremisesUserPrincipalName',
|
|
'otherMails',
|
|
'passwordPolicies',
|
|
'passwordProfile',
|
|
'pastProjects',
|
|
'postalCode',
|
|
'preferredDataLocation',
|
|
'preferredLanguage',
|
|
'preferredName',
|
|
'provisionedPlans',
|
|
'proxyAddresses',
|
|
'userType',
|
|
'userPrincipalName',
|
|
'usageLocation',
|
|
'surname',
|
|
'streetAddress',
|
|
'state',
|
|
'skills',
|
|
'signInSessionsValidFromDateTime',
|
|
'showInAddressList',
|
|
'serviceProvisioningErrors',
|
|
'securityIdentifier',
|
|
'schools',
|
|
'responsibilities',
|
|
],
|
|
requestOptions: {},
|
|
},
|
|
type: 'n8n-nodes-base.microsoftEntra',
|
|
typeVersion: 1,
|
|
position: [220, 0],
|
|
id: '3429f7f2-dfca-4b72-8913-43a582e96e66',
|
|
name: 'Micosoft Entra ID',
|
|
credentials: {
|
|
microsoftEntraOAuth2Api: {
|
|
id: 'Hot2KwSMSoSmMVqd',
|
|
name: 'Microsoft Entra ID (Azure Active Directory) account',
|
|
},
|
|
},
|
|
},
|
|
],
|
|
connections: {
|
|
"When clicking 'Test workflow'": {
|
|
main: [
|
|
[
|
|
{
|
|
node: 'Micosoft Entra ID',
|
|
type: NodeConnectionType.Main,
|
|
index: 0,
|
|
},
|
|
],
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
output: {
|
|
nodeExecutionOrder: ['Start'],
|
|
nodeData: {
|
|
'Micosoft Entra ID': [
|
|
[
|
|
{
|
|
json: {
|
|
'@odata.context':
|
|
'https://graph.microsoft.com/v1.0/$metadata#users(id)/$entity',
|
|
id: '87d349ed-44d7-43e1-9a83-5f2406dee5bd',
|
|
},
|
|
},
|
|
],
|
|
],
|
|
},
|
|
},
|
|
nock: {
|
|
baseUrl,
|
|
mocks: [
|
|
{
|
|
method: 'get',
|
|
path: '/users/87d349ed-44d7-43e1-9a83-5f2406dee5bd?$select=aboutMe,accountEnabled,ageGroup,assignedLicenses,assignedPlans,authorizationInfo,birthday,businessPhones,city,companyName,consentProvidedForMinor,country,createdDateTime,creationType,customSecurityAttributes,deletedDateTime,department,displayName,employeeHireDate,employeeId,employeeLeaveDateTime,employeeOrgData,externalUserStateChangeDateTime,externalUserState,employeeType,faxNumber,givenName,hireDate,identities,imAddresses,interests,isManagementRestricted,isResourceAccount,jobTitle,lastPasswordChangeDateTime,legalAgeGroupClassification,licenseAssignmentStates,mail,mailNickname,mobilePhone,mySite,officeLocation,onPremisesDistinguishedName,onPremisesDomainName,onPremisesExtensionAttributes,onPremisesImmutableId,onPremisesLastSyncDateTime,onPremisesProvisioningErrors,onPremisesSamAccountName,onPremisesSecurityIdentifier,onPremisesSyncEnabled,onPremisesUserPrincipalName,otherMails,passwordPolicies,passwordProfile,pastProjects,postalCode,preferredDataLocation,preferredLanguage,preferredName,provisionedPlans,proxyAddresses,userType,userPrincipalName,usageLocation,surname,streetAddress,state,skills,signInSessionsValidFromDateTime,showInAddressList,serviceProvisioningErrors,securityIdentifier,schools,responsibilities,id',
|
|
statusCode: 200,
|
|
responseBody: {
|
|
'@odata.context': 'https://graph.microsoft.com/v1.0/$metadata#users(id)/$entity',
|
|
id: '87d349ed-44d7-43e1-9a83-5f2406dee5bd',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
description: 'should get all users with simple output',
|
|
input: {
|
|
workflowData: {
|
|
nodes: [
|
|
{
|
|
parameters: {},
|
|
id: '416e4fc1-5055-4e61-854e-a6265256ac26',
|
|
name: "When clicking 'Test workflow'",
|
|
type: 'n8n-nodes-base.manualTrigger',
|
|
position: [820, 380],
|
|
typeVersion: 1,
|
|
},
|
|
{
|
|
parameters: {
|
|
resource: 'user',
|
|
operation: 'getAll',
|
|
returnAll: true,
|
|
filter: '',
|
|
output: 'simple',
|
|
requestOptions: {},
|
|
},
|
|
type: 'n8n-nodes-base.microsoftEntra',
|
|
typeVersion: 1,
|
|
position: [220, 0],
|
|
id: '3429f7f2-dfca-4b72-8913-43a582e96e66',
|
|
name: 'Micosoft Entra ID',
|
|
credentials: {
|
|
microsoftEntraOAuth2Api: {
|
|
id: 'Hot2KwSMSoSmMVqd',
|
|
name: 'Microsoft Entra ID (Azure Active Directory) account',
|
|
},
|
|
},
|
|
},
|
|
],
|
|
connections: {
|
|
"When clicking 'Test workflow'": {
|
|
main: [
|
|
[
|
|
{
|
|
node: 'Micosoft Entra ID',
|
|
type: NodeConnectionType.Main,
|
|
index: 0,
|
|
},
|
|
],
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
output: {
|
|
nodeExecutionOrder: ['Start'],
|
|
nodeData: {
|
|
'Micosoft Entra ID': [new Array(102).fill(microsoftEntraNodeResponse.getUser[0])],
|
|
},
|
|
},
|
|
nock: {
|
|
baseUrl,
|
|
mocks: [
|
|
{
|
|
method: 'get',
|
|
path: '/users?$select=id,createdDateTime,displayName,userPrincipalName,mail,mailNickname,securityIdentifier',
|
|
statusCode: 200,
|
|
responseBody: {
|
|
'@odata.context': 'https://graph.microsoft.com/v1.0/$metadata#users',
|
|
'@odata.nextLink':
|
|
'https://graph.microsoft.com/v1.0/users?$select=id,createdDateTime,displayName,userPrincipalName,mail,mailNickname,securityIdentifier&$skiptoken=RFNwdAIAAQAAACpHcm91cF9jYzEzY2Y5Yy1lOWNiLTQ3NjUtODMzYS05MDIzZDhhMjhlZjMqR3JvdXBfY2MxM2NmOWMtZTljYi00NzY1LTgzM2EtOTAyM2Q4YTI4ZWYzAAAAAAAAAAAAAAA',
|
|
value: new Array(100).fill(microsoftEntraApiResponse.getUser),
|
|
},
|
|
},
|
|
{
|
|
method: 'get',
|
|
path: '/users?$select=id,createdDateTime,displayName,userPrincipalName,mail,mailNickname,securityIdentifier&$skiptoken=RFNwdAIAAQAAACpHcm91cF9jYzEzY2Y5Yy1lOWNiLTQ3NjUtODMzYS05MDIzZDhhMjhlZjMqR3JvdXBfY2MxM2NmOWMtZTljYi00NzY1LTgzM2EtOTAyM2Q4YTI4ZWYzAAAAAAAAAAAAAAA',
|
|
statusCode: 200,
|
|
responseBody: {
|
|
'@odata.context': 'https://graph.microsoft.com/v1.0/$metadata#users',
|
|
value: new Array(2).fill(microsoftEntraApiResponse.getUser),
|
|
},
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
description: 'should get limit 10 users with raw output',
|
|
input: {
|
|
workflowData: {
|
|
nodes: [
|
|
{
|
|
parameters: {},
|
|
id: '416e4fc1-5055-4e61-854e-a6265256ac26',
|
|
name: "When clicking 'Test workflow'",
|
|
type: 'n8n-nodes-base.manualTrigger',
|
|
position: [820, 380],
|
|
typeVersion: 1,
|
|
},
|
|
{
|
|
parameters: {
|
|
resource: 'user',
|
|
operation: 'getAll',
|
|
limit: 10,
|
|
filter: '',
|
|
output: 'raw',
|
|
requestOptions: {},
|
|
},
|
|
type: 'n8n-nodes-base.microsoftEntra',
|
|
typeVersion: 1,
|
|
position: [220, 0],
|
|
id: '3429f7f2-dfca-4b72-8913-43a582e96e66',
|
|
name: 'Micosoft Entra ID',
|
|
credentials: {
|
|
microsoftEntraOAuth2Api: {
|
|
id: 'Hot2KwSMSoSmMVqd',
|
|
name: 'Microsoft Entra ID (Azure Active Directory) account',
|
|
},
|
|
},
|
|
},
|
|
],
|
|
connections: {
|
|
"When clicking 'Test workflow'": {
|
|
main: [
|
|
[
|
|
{
|
|
node: 'Micosoft Entra ID',
|
|
type: NodeConnectionType.Main,
|
|
index: 0,
|
|
},
|
|
],
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
output: {
|
|
nodeExecutionOrder: ['Start'],
|
|
nodeData: {
|
|
'Micosoft Entra ID': [new Array(10).fill(microsoftEntraNodeResponse.getUser[0])],
|
|
},
|
|
},
|
|
nock: {
|
|
baseUrl,
|
|
mocks: [
|
|
{
|
|
method: 'get',
|
|
path: '/users?$top=10&$select=id,accountEnabled,ageGroup,assignedLicenses,assignedPlans,authorizationInfo,businessPhones,city,companyName,consentProvidedForMinor,country,createdDateTime,creationType,customSecurityAttributes,deletedDateTime,department,displayName,employeeHireDate,employeeId,employeeLeaveDateTime,employeeOrgData,employeeType,externalUserState,externalUserStateChangeDateTime,faxNumber,givenName,identities,imAddresses,isManagementRestricted,isResourceAccount,jobTitle,lastPasswordChangeDateTime,legalAgeGroupClassification,licenseAssignmentStates,mail,mailNickname,mobilePhone,officeLocation,onPremisesDistinguishedName,onPremisesDomainName,onPremisesExtensionAttributes,onPremisesImmutableId,onPremisesLastSyncDateTime,onPremisesProvisioningErrors,onPremisesSamAccountName,onPremisesSecurityIdentifier,onPremisesSyncEnabled,onPremisesUserPrincipalName,otherMails,passwordPolicies,passwordProfile,postalCode,preferredDataLocation,preferredLanguage,provisionedPlans,proxyAddresses,securityIdentifier,serviceProvisioningErrors,showInAddressList,signInSessionsValidFromDateTime,state,streetAddress,surname,usageLocation,userPrincipalName,userType',
|
|
statusCode: 200,
|
|
responseBody: {
|
|
'@odata.context': 'https://graph.microsoft.com/v1.0/$metadata#users',
|
|
'@odata.nextLink':
|
|
'https://graph.microsoft.com/v1.0/users?$top=10&$select=id,accountEnabled,ageGroup,assignedLicenses,assignedPlans,authorizationInfo,businessPhones,city,companyName,consentProvidedForMinor,country,createdDateTime,creationType,customSecurityAttributes,deletedDateTime,department,displayName,employeeHireDate,employeeId,employeeLeaveDateTime,employeeOrgData,employeeType,externalUserState,externalUserStateChangeDateTime,faxNumber,givenName,identities,imAddresses,isManagementRestricted,isResourceAccount,jobTitle,lastPasswordChangeDateTime,legalAgeGroupClassification,licenseAssignmentStates,mail,mailNickname,mobilePhone,officeLocation,onPremisesDistinguishedName,onPremisesDomainName,onPremisesExtensionAttributes,onPremisesImmutableId,onPremisesLastSyncDateTime,onPremisesProvisioningErrors,onPremisesSamAccountName,onPremisesSecurityIdentifier,onPremisesSyncEnabled,onPremisesUserPrincipalName,otherMails,passwordPolicies,passwordProfile,postalCode,preferredDataLocation,preferredLanguage,provisionedPlans,proxyAddresses,securityIdentifier,serviceProvisioningErrors,showInAddressList,signInSessionsValidFromDateTime,state,streetAddress,surname,usageLocation,userPrincipalName,userType&$skiptoken=RFNwdAIAAQAAACpHcm91cF9jYzEzY2Y5Yy1lOWNiLTQ3NjUtODMzYS05MDIzZDhhMjhlZjMqR3JvdXBfY2MxM2NmOWMtZTljYi00NzY1LTgzM2EtOTAyM2Q4YTI4ZWYzAAAAAAAAAAAAAAA',
|
|
value: new Array(10).fill(microsoftEntraApiResponse.getUser),
|
|
},
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
description: 'should get all users with options and filter',
|
|
input: {
|
|
workflowData: {
|
|
nodes: [
|
|
{
|
|
parameters: {},
|
|
id: '416e4fc1-5055-4e61-854e-a6265256ac26',
|
|
name: "When clicking 'Test workflow'",
|
|
type: 'n8n-nodes-base.manualTrigger',
|
|
position: [820, 380],
|
|
typeVersion: 1,
|
|
},
|
|
{
|
|
parameters: {
|
|
resource: 'user',
|
|
operation: 'getAll',
|
|
returnAll: true,
|
|
filter: "startswith(displayName,'user')",
|
|
output: 'fields',
|
|
fields: [
|
|
'accountEnabled',
|
|
'ageGroup',
|
|
'assignedLicenses',
|
|
'assignedPlans',
|
|
'businessPhones',
|
|
'authorizationInfo',
|
|
'city',
|
|
'companyName',
|
|
'consentProvidedForMinor',
|
|
'country',
|
|
'createdDateTime',
|
|
'creationType',
|
|
'customSecurityAttributes',
|
|
'deletedDateTime',
|
|
'department',
|
|
'displayName',
|
|
'employeeHireDate',
|
|
'employeeId',
|
|
'employeeLeaveDateTime',
|
|
'employeeOrgData',
|
|
'employeeType',
|
|
'externalUserState',
|
|
'externalUserStateChangeDateTime',
|
|
'faxNumber',
|
|
'givenName',
|
|
'identities',
|
|
'imAddresses',
|
|
'isManagementRestricted',
|
|
'isResourceAccount',
|
|
'jobTitle',
|
|
'lastPasswordChangeDateTime',
|
|
'legalAgeGroupClassification',
|
|
'licenseAssignmentStates',
|
|
'mailNickname',
|
|
'mail',
|
|
'mobilePhone',
|
|
'officeLocation',
|
|
'onPremisesDistinguishedName',
|
|
'onPremisesExtensionAttributes',
|
|
'onPremisesDomainName',
|
|
'onPremisesImmutableId',
|
|
'onPremisesLastSyncDateTime',
|
|
'onPremisesProvisioningErrors',
|
|
'onPremisesSecurityIdentifier',
|
|
'onPremisesSamAccountName',
|
|
'onPremisesSyncEnabled',
|
|
'onPremisesUserPrincipalName',
|
|
'otherMails',
|
|
'passwordPolicies',
|
|
'passwordProfile',
|
|
'postalCode',
|
|
'preferredDataLocation',
|
|
'preferredLanguage',
|
|
'provisionedPlans',
|
|
'proxyAddresses',
|
|
'signInSessionsValidFromDateTime',
|
|
'showInAddressList',
|
|
'serviceProvisioningErrors',
|
|
'securityIdentifier',
|
|
'state',
|
|
'streetAddress',
|
|
'surname',
|
|
'usageLocation',
|
|
'userPrincipalName',
|
|
'userType',
|
|
],
|
|
requestOptions: {},
|
|
},
|
|
type: 'n8n-nodes-base.microsoftEntra',
|
|
typeVersion: 1,
|
|
position: [220, 0],
|
|
id: '3429f7f2-dfca-4b72-8913-43a582e96e66',
|
|
name: 'Micosoft Entra ID',
|
|
credentials: {
|
|
microsoftEntraOAuth2Api: {
|
|
id: 'Hot2KwSMSoSmMVqd',
|
|
name: 'Microsoft Entra ID (Azure Active Directory) account',
|
|
},
|
|
},
|
|
},
|
|
],
|
|
connections: {
|
|
"When clicking 'Test workflow'": {
|
|
main: [
|
|
[
|
|
{
|
|
node: 'Micosoft Entra ID',
|
|
type: NodeConnectionType.Main,
|
|
index: 0,
|
|
},
|
|
],
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
output: {
|
|
nodeExecutionOrder: ['Start'],
|
|
nodeData: {
|
|
'Micosoft Entra ID': [
|
|
new Array(102).fill({
|
|
json: {
|
|
'@odata.context': 'https://graph.microsoft.com/v1.0/$metadata#users(id)/$entity',
|
|
id: '87d349ed-44d7-43e1-9a83-5f2406dee5bd',
|
|
},
|
|
}),
|
|
],
|
|
},
|
|
},
|
|
nock: {
|
|
baseUrl,
|
|
mocks: [
|
|
{
|
|
method: 'get',
|
|
path: "/users?$filter=startswith(displayName,'user')&$select=accountEnabled,ageGroup,assignedLicenses,assignedPlans,businessPhones,authorizationInfo,city,companyName,consentProvidedForMinor,country,createdDateTime,creationType,customSecurityAttributes,deletedDateTime,department,displayName,employeeHireDate,employeeId,employeeLeaveDateTime,employeeOrgData,employeeType,externalUserState,externalUserStateChangeDateTime,faxNumber,givenName,identities,imAddresses,isManagementRestricted,isResourceAccount,jobTitle,lastPasswordChangeDateTime,legalAgeGroupClassification,licenseAssignmentStates,mailNickname,mail,mobilePhone,officeLocation,onPremisesDistinguishedName,onPremisesExtensionAttributes,onPremisesDomainName,onPremisesImmutableId,onPremisesLastSyncDateTime,onPremisesProvisioningErrors,onPremisesSecurityIdentifier,onPremisesSamAccountName,onPremisesSyncEnabled,onPremisesUserPrincipalName,otherMails,passwordPolicies,passwordProfile,postalCode,preferredDataLocation,preferredLanguage,provisionedPlans,proxyAddresses,signInSessionsValidFromDateTime,showInAddressList,serviceProvisioningErrors,securityIdentifier,state,streetAddress,surname,usageLocation,userPrincipalName,userType,id",
|
|
statusCode: 200,
|
|
responseBody: {
|
|
'@odata.context': 'https://graph.microsoft.com/v1.0/$metadata#users',
|
|
'@odata.nextLink':
|
|
"https://graph.microsoft.com/v1.0/users?$filter=startswith(displayName,'user')&$select=accountEnabled,ageGroup,assignedLicenses,assignedPlans,businessPhones,authorizationInfo,city,companyName,consentProvidedForMinor,country,createdDateTime,creationType,customSecurityAttributes,deletedDateTime,department,displayName,employeeHireDate,employeeId,employeeLeaveDateTime,employeeOrgData,employeeType,externalUserState,externalUserStateChangeDateTime,faxNumber,givenName,identities,imAddresses,isManagementRestricted,isResourceAccount,jobTitle,lastPasswordChangeDateTime,legalAgeGroupClassification,licenseAssignmentStates,mailNickname,mail,mobilePhone,officeLocation,onPremisesDistinguishedName,onPremisesExtensionAttributes,onPremisesDomainName,onPremisesImmutableId,onPremisesLastSyncDateTime,onPremisesProvisioningErrors,onPremisesSecurityIdentifier,onPremisesSamAccountName,onPremisesSyncEnabled,onPremisesUserPrincipalName,otherMails,passwordPolicies,passwordProfile,postalCode,preferredDataLocation,preferredLanguage,provisionedPlans,proxyAddresses,signInSessionsValidFromDateTime,showInAddressList,serviceProvisioningErrors,securityIdentifier,state,streetAddress,surname,usageLocation,userPrincipalName,userType,id&$skiptoken=RFNwdAIAAQAAACpHcm91cF9jYzEzY2Y5Yy1lOWNiLTQ3NjUtODMzYS05MDIzZDhhMjhlZjMqR3JvdXBfY2MxM2NmOWMtZTljYi00NzY1LTgzM2EtOTAyM2Q4YTI4ZWYzAAAAAAAAAAAAAAA",
|
|
value: new Array(100).fill({
|
|
'@odata.context': 'https://graph.microsoft.com/v1.0/$metadata#users(id)/$entity',
|
|
id: '87d349ed-44d7-43e1-9a83-5f2406dee5bd',
|
|
}),
|
|
},
|
|
},
|
|
{
|
|
method: 'get',
|
|
path: "/users?$filter=startswith(displayName,'user')&$select=accountEnabled,ageGroup,assignedLicenses,assignedPlans,businessPhones,authorizationInfo,city,companyName,consentProvidedForMinor,country,createdDateTime,creationType,customSecurityAttributes,deletedDateTime,department,displayName,employeeHireDate,employeeId,employeeLeaveDateTime,employeeOrgData,employeeType,externalUserState,externalUserStateChangeDateTime,faxNumber,givenName,identities,imAddresses,isManagementRestricted,isResourceAccount,jobTitle,lastPasswordChangeDateTime,legalAgeGroupClassification,licenseAssignmentStates,mailNickname,mail,mobilePhone,officeLocation,onPremisesDistinguishedName,onPremisesExtensionAttributes,onPremisesDomainName,onPremisesImmutableId,onPremisesLastSyncDateTime,onPremisesProvisioningErrors,onPremisesSecurityIdentifier,onPremisesSamAccountName,onPremisesSyncEnabled,onPremisesUserPrincipalName,otherMails,passwordPolicies,passwordProfile,postalCode,preferredDataLocation,preferredLanguage,provisionedPlans,proxyAddresses,signInSessionsValidFromDateTime,showInAddressList,serviceProvisioningErrors,securityIdentifier,state,streetAddress,surname,usageLocation,userPrincipalName,userType,id&$skiptoken=RFNwdAIAAQAAACpHcm91cF9jYzEzY2Y5Yy1lOWNiLTQ3NjUtODMzYS05MDIzZDhhMjhlZjMqR3JvdXBfY2MxM2NmOWMtZTljYi00NzY1LTgzM2EtOTAyM2Q4YTI4ZWYzAAAAAAAAAAAAAAA",
|
|
statusCode: 200,
|
|
responseBody: {
|
|
'@odata.context': 'https://graph.microsoft.com/v1.0/$metadata#users',
|
|
value: new Array(2).fill({
|
|
'@odata.context': 'https://graph.microsoft.com/v1.0/$metadata#users(id)/$entity',
|
|
id: '87d349ed-44d7-43e1-9a83-5f2406dee5bd',
|
|
}),
|
|
},
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
description: 'should remove user from group',
|
|
input: {
|
|
workflowData: {
|
|
nodes: [
|
|
{
|
|
parameters: {},
|
|
id: '416e4fc1-5055-4e61-854e-a6265256ac26',
|
|
name: "When clicking 'Test workflow'",
|
|
type: 'n8n-nodes-base.manualTrigger',
|
|
position: [820, 380],
|
|
typeVersion: 1,
|
|
},
|
|
{
|
|
parameters: {
|
|
resource: 'user',
|
|
operation: 'removeGroup',
|
|
group: {
|
|
__rl: true,
|
|
mode: 'id',
|
|
value: 'a8eb60e3-0145-4d7e-85ef-c6259784761b',
|
|
},
|
|
user: {
|
|
__rl: true,
|
|
mode: 'id',
|
|
value: '87d349ed-44d7-43e1-9a83-5f2406dee5bd',
|
|
},
|
|
requestOptions: {},
|
|
},
|
|
type: 'n8n-nodes-base.microsoftEntra',
|
|
typeVersion: 1,
|
|
position: [220, 0],
|
|
id: '3429f7f2-dfca-4b72-8913-43a582e96e66',
|
|
name: 'Micosoft Entra ID',
|
|
credentials: {
|
|
microsoftEntraOAuth2Api: {
|
|
id: 'Hot2KwSMSoSmMVqd',
|
|
name: 'Microsoft Entra ID (Azure Active Directory) account',
|
|
},
|
|
},
|
|
},
|
|
],
|
|
connections: {
|
|
"When clicking 'Test workflow'": {
|
|
main: [
|
|
[
|
|
{
|
|
node: 'Micosoft Entra ID',
|
|
type: NodeConnectionType.Main,
|
|
index: 0,
|
|
},
|
|
],
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
output: {
|
|
nodeExecutionOrder: ['Start'],
|
|
nodeData: {
|
|
'Micosoft Entra ID': [microsoftEntraNodeResponse.removeUserFromGroup],
|
|
},
|
|
},
|
|
nock: {
|
|
baseUrl,
|
|
mocks: [
|
|
{
|
|
method: 'delete',
|
|
path: '/groups/a8eb60e3-0145-4d7e-85ef-c6259784761b/members/87d349ed-44d7-43e1-9a83-5f2406dee5bd/$ref',
|
|
statusCode: 204,
|
|
responseBody: {},
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
description: 'should update user',
|
|
input: {
|
|
workflowData: {
|
|
nodes: [
|
|
{
|
|
parameters: {},
|
|
id: '416e4fc1-5055-4e61-854e-a6265256ac26',
|
|
name: "When clicking 'Test workflow'",
|
|
type: 'n8n-nodes-base.manualTrigger',
|
|
position: [820, 380],
|
|
typeVersion: 1,
|
|
},
|
|
{
|
|
parameters: {
|
|
resource: 'user',
|
|
operation: 'update',
|
|
user: {
|
|
__rl: true,
|
|
value: '87d349ed-44d7-43e1-9a83-5f2406dee5bd',
|
|
mode: 'id',
|
|
},
|
|
updateFields: {
|
|
aboutMe: 'About me',
|
|
accountEnabled: true,
|
|
ageGroup: 'Adult',
|
|
birthday: '2024-11-12T00:00:00Z',
|
|
businessPhones: '0123456789',
|
|
city: 'New York',
|
|
companyName: 'Contoso',
|
|
consentProvidedForMinor: 'Granted',
|
|
country: 'US',
|
|
department: 'IT',
|
|
displayName: 'Group Display Name',
|
|
employeeId: 'employee-id-123',
|
|
employeeType: 'Contractor',
|
|
forceChangePassword: 'forceChangePasswordNextSignInWithMfa',
|
|
givenName: 'John',
|
|
employeeHireDate: '2024-11-13T00:00:00Z',
|
|
employeeLeaveDateTime: '2024-11-18T00:00:00Z',
|
|
employeeOrgData: {
|
|
employeeOrgValues: {
|
|
costCenter: 'Cost Center 1',
|
|
division: 'Division 1',
|
|
},
|
|
},
|
|
interests: ['interest1', 'interest2'],
|
|
jobTitle: 'Project manager',
|
|
surname: 'Doe',
|
|
mail: 'johndoe@contoso.com',
|
|
mailNickname: 'MailNickname',
|
|
mobilePhone: '+123456789',
|
|
mySite: 'My Site',
|
|
officeLocation: 'New York',
|
|
onPremisesImmutableId: 'premiseid123',
|
|
otherMails: ['johndoe2@contoso.com', 'johndoe3@contoso.com'],
|
|
password: 'Test!12345',
|
|
passwordPolicies: ['DisablePasswordExpiration', 'DisableStrongPassword'],
|
|
pastProjects: ['project1', 'project2'],
|
|
postalCode: '0123456',
|
|
preferredLanguage: 'en-US',
|
|
responsibilities: ['responsibility1', 'responsibility2'],
|
|
schools: ['school1', 'school2'],
|
|
skills: ['skill1', 'skill2'],
|
|
state: 'New York',
|
|
streetAddress: 'Street 123',
|
|
usageLocation: 'US',
|
|
userPrincipalName: 'johndoe@contoso.com',
|
|
userType: 'Guest',
|
|
},
|
|
requestOptions: {},
|
|
},
|
|
type: 'n8n-nodes-base.microsoftEntra',
|
|
typeVersion: 1,
|
|
position: [220, 0],
|
|
id: '3429f7f2-dfca-4b72-8913-43a582e96e66',
|
|
name: 'Micosoft Entra ID',
|
|
credentials: {
|
|
microsoftEntraOAuth2Api: {
|
|
id: 'Hot2KwSMSoSmMVqd',
|
|
name: 'Microsoft Entra ID (Azure Active Directory) account',
|
|
},
|
|
},
|
|
},
|
|
],
|
|
connections: {
|
|
"When clicking 'Test workflow'": {
|
|
main: [
|
|
[
|
|
{
|
|
node: 'Micosoft Entra ID',
|
|
type: NodeConnectionType.Main,
|
|
index: 0,
|
|
},
|
|
],
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
output: {
|
|
nodeExecutionOrder: ['Start'],
|
|
nodeData: {
|
|
'Micosoft Entra ID': [microsoftEntraNodeResponse.updateUser],
|
|
},
|
|
},
|
|
nock: {
|
|
baseUrl,
|
|
mocks: [
|
|
{
|
|
method: 'patch',
|
|
path: `/users/${microsoftEntraApiResponse.postUser.id}`,
|
|
statusCode: 204,
|
|
requestBody: {
|
|
accountEnabled: true,
|
|
ageGroup: 'Adult',
|
|
businessPhones: ['0123456789'],
|
|
city: 'New York',
|
|
companyName: 'Contoso',
|
|
consentProvidedForMinor: 'Granted',
|
|
country: 'US',
|
|
department: 'IT',
|
|
displayName: 'Group Display Name',
|
|
employeeId: 'employee-id-123',
|
|
employeeType: 'Contractor',
|
|
givenName: 'John',
|
|
employeeHireDate: null,
|
|
employeeLeaveDateTime: null,
|
|
employeeOrgData: {
|
|
costCenter: 'Cost Center 1',
|
|
division: 'Division 1',
|
|
},
|
|
jobTitle: 'Project manager',
|
|
surname: 'Doe',
|
|
mail: 'johndoe@contoso.com',
|
|
mailNickname: 'MailNickname',
|
|
mobilePhone: '+123456789',
|
|
officeLocation: 'New York',
|
|
onPremisesImmutableId: 'premiseid123',
|
|
otherMails: ['johndoe2@contoso.com', 'johndoe3@contoso.com'],
|
|
passwordProfile: {
|
|
password: 'Test!12345',
|
|
forceChangePasswordNextSignInWithMfa: true,
|
|
},
|
|
passwordPolicies: 'DisablePasswordExpiration,DisableStrongPassword',
|
|
postalCode: '0123456',
|
|
preferredLanguage: 'en-US',
|
|
state: 'New York',
|
|
streetAddress: 'Street 123',
|
|
usageLocation: 'US',
|
|
userPrincipalName: 'johndoe@contoso.com',
|
|
userType: 'Guest',
|
|
},
|
|
responseBody: {},
|
|
},
|
|
{
|
|
method: 'patch',
|
|
path: `/users/${microsoftEntraApiResponse.postUser.id}`,
|
|
statusCode: 204,
|
|
requestBody: {
|
|
aboutMe: 'About me',
|
|
birthday: '2024-11-12T00:00:00.000Z',
|
|
interests: ['interest1', 'interest2'],
|
|
mySite: 'My Site',
|
|
pastProjects: ['project1', 'project2'],
|
|
responsibilities: ['responsibility1', 'responsibility2'],
|
|
schools: ['school1', 'school2'],
|
|
skills: ['skill1', 'skill2'],
|
|
},
|
|
responseBody: {},
|
|
},
|
|
],
|
|
},
|
|
},
|
|
];
|
|
|
|
const nodeTypes = Helpers.setup(tests);
|
|
|
|
test.each(tests)('$description', async (testData) => {
|
|
const { result } = await executeWorkflow(testData, nodeTypes);
|
|
|
|
const resultNodeData = Helpers.getResultNodeData(result, testData);
|
|
resultNodeData.forEach(({ nodeName, resultData }) =>
|
|
expect(resultData).toEqual(testData.output.nodeData[nodeName]),
|
|
);
|
|
expect(result.status).toEqual('success');
|
|
});
|
|
});
|
|
});
|