Skip to content

Commit 30bcced

Browse files
FAT-20883: C812849 (#7139)
1 parent 5299bbb commit 30bcced

12 files changed

Lines changed: 1219 additions & 145 deletions

cypress/e2e/bulk-edit/csv/bulk-edit-csv-user-custom-fields-recent.cy.js

Lines changed: 63 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,18 @@ import TopMenu from '../../../support/fragments/topMenu';
22
import permissions from '../../../support/dictionary/permissions';
33
import BulkEditSearchPane from '../../../support/fragments/bulk-edit/bulk-edit-search-pane';
44
import FileManager from '../../../support/utils/fileManager';
5+
import { generateMultiSelectCustomFieldData } from '../../../support/utils/customFields';
56
import getRandomPostfix from '../../../support/utils/stringTools';
67
import BulkEditActions from '../../../support/fragments/bulk-edit/bulk-edit-actions';
78
import Users from '../../../support/fragments/users/users';
89
import UsersSearchPane from '../../../support/fragments/users/usersSearchPane';
910
import CustomFields from '../../../support/fragments/settings/users/customFields';
10-
import SettingsMenu from '../../../support/fragments/settingsMenu';
1111
import UserEdit from '../../../support/fragments/users/userEdit';
1212
import TopMenuNavigation from '../../../support/fragments/topMenuNavigation';
1313
import { APPLICATION_NAMES } from '../../../support/constants';
1414

1515
let user;
16+
let createdCustomFieldIds = [];
1617
const customFieldData = {
1718
fieldLabel: `fieldLabel${getRandomPostfix()}`,
1819
label1: `label1${getRandomPostfix()}`,
@@ -26,38 +27,79 @@ const updatedCustomFieldData = {
2627
const userBarcodesFileName = `userBarcodes_${getRandomPostfix()}.csv`;
2728
const matchedRecordsFileName = `*-Matched-Records-${userBarcodesFileName}`;
2829
const editedFileName = `edited-records-${getRandomPostfix()}.csv`;
30+
const multiSelectCustomField = generateMultiSelectCustomFieldData({
31+
testNumber: '389569',
32+
data: {
33+
name: customFieldData.fieldLabel,
34+
selectField: {
35+
multiSelect: true,
36+
options: {
37+
values: [
38+
{
39+
id: 'opt_0',
40+
value: customFieldData.label1,
41+
default: false,
42+
},
43+
{
44+
id: 'opt_1',
45+
value: customFieldData.label2,
46+
default: false,
47+
},
48+
],
49+
},
50+
},
51+
},
52+
});
2953

3054
describe('Bulk-edit', () => {
3155
describe('Csv approach', () => {
3256
before('create test data', () => {
33-
cy.createTempUser([
34-
permissions.bulkEditCsvView.gui,
35-
permissions.bulkEditCsvEdit.gui,
36-
permissions.bulkEditLogsView.gui,
37-
permissions.uiUsersCustomField.gui,
38-
permissions.uiUsersView.gui,
39-
permissions.uiUserEdit.gui,
40-
]).then((userProperties) => {
41-
user = userProperties;
42-
cy.login(user.username, user.password, {
43-
path: SettingsMenu.customFieldsPath,
44-
waiter: CustomFields.waitLoading,
57+
cy.getAdminToken()
58+
.then(() => {
59+
return cy
60+
.createTempUser([
61+
permissions.bulkEditCsvView.gui,
62+
permissions.bulkEditCsvEdit.gui,
63+
permissions.bulkEditLogsView.gui,
64+
permissions.uiUsersCustomField.gui,
65+
permissions.uiUsersView.gui,
66+
permissions.uiUserEdit.gui,
67+
])
68+
.then((userProperties) => {
69+
user = userProperties;
70+
FileManager.createFile(`cypress/fixtures/${userBarcodesFileName}`, user.barcode);
71+
72+
return cy
73+
.createCustomFieldsViaApi([multiSelectCustomField])
74+
.then((createdCustomFields) => {
75+
createdCustomFieldIds = createdCustomFields.map(({ id }) => id);
76+
});
77+
});
78+
})
79+
.then(() => {
80+
cy.login(user.username, user.password, {
81+
path: TopMenu.usersPath,
82+
waiter: UsersSearchPane.waitLoading,
83+
});
84+
UsersSearchPane.searchByUsername(user.username);
85+
UserEdit.addMultiSelectCustomField(customFieldData);
86+
TopMenuNavigation.navigateToApp(APPLICATION_NAMES.BULK_EDIT);
4587
});
46-
FileManager.createFile(`cypress/fixtures/${userBarcodesFileName}`, user.barcode);
47-
CustomFields.addMultiSelectCustomField(customFieldData);
48-
TopMenuNavigation.navigateToApp(APPLICATION_NAMES.USERS);
49-
UsersSearchPane.searchByUsername(user.username);
50-
UserEdit.addMultiSelectCustomField(customFieldData);
51-
TopMenuNavigation.navigateToApp(APPLICATION_NAMES.BULK_EDIT);
52-
});
5388
});
5489

5590
after('delete test data', () => {
5691
cy.getAdminToken();
5792
FileManager.deleteFile(`cypress/fixtures/${userBarcodesFileName}`);
5893
FileManager.deleteFile(`cypress/fixtures/${editedFileName}`);
5994
FileManager.deleteFileFromDownloadsByMask(matchedRecordsFileName);
60-
Users.deleteViaApi(user.userId);
95+
96+
if (createdCustomFieldIds.length) {
97+
cy.deleteCustomFieldsViaApi({ ids: createdCustomFieldIds });
98+
}
99+
100+
if (user?.userId) {
101+
Users.deleteViaApi(user.userId);
102+
}
61103
});
62104

63105
it(

cypress/e2e/bulk-edit/in-app/bulk-edit-in-app-user-custom-fields-recent.cy.js

Lines changed: 66 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ import BulkEditActions from '../../../support/fragments/bulk-edit/bulk-edit-acti
33
import BulkEditFiles from '../../../support/fragments/bulk-edit/bulk-edit-files';
44
import BulkEditSearchPane from '../../../support/fragments/bulk-edit/bulk-edit-search-pane';
55
import CustomFields from '../../../support/fragments/settings/users/customFields';
6-
import SettingsMenu from '../../../support/fragments/settingsMenu';
76
import TopMenu from '../../../support/fragments/topMenu';
87
import UserEdit from '../../../support/fragments/users/userEdit';
98
import Users from '../../../support/fragments/users/users';
109
import UsersSearchPane from '../../../support/fragments/users/usersSearchPane';
1110
import FileManager from '../../../support/utils/fileManager';
11+
import { generateMultiSelectCustomFieldData } from '../../../support/utils/customFields';
1212
import getRandomPostfix from '../../../support/utils/stringTools';
1313
import TopMenuNavigation from '../../../support/fragments/topMenuNavigation';
1414
import { APPLICATION_NAMES } from '../../../support/constants';
@@ -18,6 +18,7 @@ let customFieldData;
1818
let updatedCustomFieldData;
1919
let userBarcodesFileName;
2020
let previewOfProposedChangesFileName;
21+
let createdCustomFieldIds;
2122

2223
describe(
2324
'Bulk-edit',
@@ -41,35 +42,78 @@ describe(
4142
};
4243
userBarcodesFileName = `userBarcodes_${getRandomPostfix()}.csv`;
4344
previewOfProposedChangesFileName = `*-Updates-Preview-CSV-${userBarcodesFileName}`;
45+
createdCustomFieldIds = [];
46+
47+
const multiSelectCustomField = generateMultiSelectCustomFieldData({
48+
testNumber: '389570',
49+
data: {
50+
name: customFieldData.fieldLabel,
51+
selectField: {
52+
multiSelect: true,
53+
options: {
54+
values: [
55+
{
56+
id: 'opt_0',
57+
value: customFieldData.label1,
58+
default: false,
59+
},
60+
{
61+
id: 'opt_1',
62+
value: customFieldData.label2,
63+
default: false,
64+
},
65+
],
66+
},
67+
},
68+
},
69+
});
4470

45-
cy.createTempUser(
46-
[
47-
permissions.bulkEditUpdateRecords.gui,
48-
permissions.bulkEditLogsView.gui,
49-
permissions.uiUsersPermissionsView.gui,
50-
permissions.uiUsersCustomField.gui,
51-
permissions.uiUserEdit.gui,
52-
],
53-
'faculty',
54-
).then((userProperties) => {
55-
user = userProperties;
56-
cy.login(user.username, user.password, {
57-
path: SettingsMenu.customFieldsPath,
58-
waiter: CustomFields.waitLoading,
71+
cy.getAdminToken()
72+
.then(() => {
73+
return cy
74+
.createTempUser(
75+
[
76+
permissions.bulkEditUpdateRecords.gui,
77+
permissions.bulkEditLogsView.gui,
78+
permissions.uiUsersPermissionsView.gui,
79+
permissions.uiUsersCustomField.gui,
80+
permissions.uiUserEdit.gui,
81+
],
82+
'faculty',
83+
)
84+
.then((userProperties) => {
85+
user = userProperties;
86+
FileManager.createFile(`cypress/fixtures/${userBarcodesFileName}`, user.barcode);
87+
88+
return cy
89+
.createCustomFieldsViaApi([multiSelectCustomField])
90+
.then((createdCustomFields) => {
91+
createdCustomFieldIds = createdCustomFields.map(({ id }) => id);
92+
});
93+
});
94+
})
95+
.then(() => {
96+
cy.login(user.username, user.password, {
97+
path: TopMenu.usersPath,
98+
waiter: UsersSearchPane.waitLoading,
99+
});
100+
UsersSearchPane.searchByUsername(user.username);
101+
UserEdit.addMultiSelectCustomField(customFieldData);
59102
});
60-
FileManager.createFile(`cypress/fixtures/${userBarcodesFileName}`, user.barcode);
61-
CustomFields.addMultiSelectCustomField(customFieldData);
62-
TopMenuNavigation.navigateToApp(APPLICATION_NAMES.USERS);
63-
UsersSearchPane.searchByUsername(user.username);
64-
UserEdit.addMultiSelectCustomField(customFieldData);
65-
});
66103
});
67104

68105
afterEach('delete test data', () => {
69106
cy.getAdminToken();
70107
FileManager.deleteFile(`cypress/fixtures/${userBarcodesFileName}`);
71108
FileManager.deleteFileFromDownloadsByMask(previewOfProposedChangesFileName);
72-
Users.deleteViaApi(user.userId);
109+
110+
if (createdCustomFieldIds?.length) {
111+
cy.deleteCustomFieldsViaApi({ ids: createdCustomFieldIds });
112+
}
113+
114+
if (user?.userId) {
115+
Users.deleteViaApi(user.userId);
116+
}
73117
});
74118

75119
it(
@@ -139,11 +183,6 @@ describe(
139183
TopMenuNavigation.navigateToApp(APPLICATION_NAMES.USERS);
140184
UsersSearchPane.searchByUsername(user.username);
141185
Users.verifyPatronGroupOnUserDetailsPane('graduate');
142-
143-
TopMenuNavigation.navigateToApp(APPLICATION_NAMES.SETTINGS);
144-
CustomFields.openTabFromInventorySettingsList();
145-
CustomFields.waitLoading();
146-
CustomFields.deleteCustomField(updatedCustomFieldData.fieldLabel);
147186
},
148187
);
149188
});

cypress/e2e/bulk-edit/in-app/bulk-edit-in-app-user-line-break.cy.js

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,19 @@ import permissions from '../../../support/dictionary/permissions';
22
import BulkEditActions from '../../../support/fragments/bulk-edit/bulk-edit-actions';
33
import BulkEditSearchPane from '../../../support/fragments/bulk-edit/bulk-edit-search-pane';
44
import BulkEditFiles from '../../../support/fragments/bulk-edit/bulk-edit-files';
5-
import CustomFields from '../../../support/fragments/settings/users/customFields';
6-
import SettingsMenu from '../../../support/fragments/settingsMenu';
75
import TopMenu from '../../../support/fragments/topMenu';
86
import UserEdit from '../../../support/fragments/users/userEdit';
97
import Users from '../../../support/fragments/users/users';
108
import UsersSearchPane from '../../../support/fragments/users/usersSearchPane';
119
import FileManager from '../../../support/utils/fileManager';
10+
import { generateTextAreaCustomFieldData } from '../../../support/utils/customFields';
1211
import getRandomPostfix from '../../../support/utils/stringTools';
1312
import TopMenuNavigation from '../../../support/fragments/topMenuNavigation';
1413
import { APPLICATION_NAMES } from '../../../support/constants';
1514

1615
let user;
16+
let createdCustomFieldIds = [];
17+
let textAreaCustomField;
1718
let userBarcodesFileName;
1819
let customFieldName;
1920
let customFieldText;
@@ -39,6 +40,13 @@ describe(
3940
userBarcodesFileName = `userBarcodes_${getRandomPostfix()}.csv`;
4041
customFieldName = `customFieldName-${getRandomPostfix()}`;
4142
customFieldText = `customFieldText\n${getRandomPostfix()}`;
43+
createdCustomFieldIds = [];
44+
textAreaCustomField = generateTextAreaCustomFieldData({
45+
testNumber: '399098',
46+
data: {
47+
name: customFieldName,
48+
},
49+
});
4250
matchedRecordsFileName = BulkEditFiles.getMatchedRecordsFileName(userBarcodesFileName);
4351
changedRecordsFileName = BulkEditFiles.getChangedRecordsFileName(userBarcodesFileName);
4452
previewFileName = BulkEditFiles.getPreviewFileName(userBarcodesFileName);
@@ -60,13 +68,14 @@ describe(
6068
);
6169
})
6270
.then(() => {
71+
cy.getAdminToken();
72+
cy.createCustomFieldsViaApi([textAreaCustomField]).then((createdCustomFields) => {
73+
createdCustomFieldIds = createdCustomFields.map(({ id }) => id);
74+
});
6375
cy.loginAsAdmin({
64-
path: SettingsMenu.customFieldsPath,
65-
waiter: CustomFields.waitLoading,
76+
path: TopMenu.usersPath,
77+
waiter: UsersSearchPane.waitLoading,
6678
});
67-
CustomFields.addTextAreaCustomField(customFieldName);
68-
CustomFields.verifyCustomFieldExists(customFieldName);
69-
TopMenuNavigation.openAppFromDropdown(APPLICATION_NAMES.USERS);
7079
UsersSearchPane.searchByKeywords(testUsersBarcodes[0]);
7180
UserEdit.addCustomField(customFieldName, customFieldText);
7281

@@ -80,6 +89,9 @@ describe(
8089
afterEach('delete test data', () => {
8190
cy.getAdminToken();
8291
FileManager.deleteFile(`cypress/fixtures/${userBarcodesFileName}`);
92+
if (createdCustomFieldIds.length) {
93+
cy.deleteCustomFieldsViaApi({ ids: createdCustomFieldIds });
94+
}
8395
testUsers.forEach((testUser) => Users.deleteViaApi(testUser.userId));
8496
Users.deleteViaApi(user.userId);
8597
FileManager.deleteFileFromDownloadsByMask(
@@ -121,12 +133,6 @@ describe(
121133
UsersSearchPane.searchByKeywords(testUsersBarcodes[0]);
122134
Users.verifyPatronGroupOnUserDetailsPane('faculty');
123135
Users.verifyCustomFieldOnUserDetailsPane(customFieldName, customFieldText);
124-
125-
cy.loginAsAdmin({
126-
path: SettingsMenu.customFieldsPath,
127-
waiter: CustomFields.waitLoading,
128-
});
129-
CustomFields.deleteCustomField(customFieldName);
130136
},
131137
);
132138
});

0 commit comments

Comments
 (0)