@bigbinary/neeto-commons-frontend 2.0.73 → 2.0.74

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.
@@ -3,7 +3,7 @@ const path = require("path");
3
3
  const { mergeDeepLeft } = require("ramda");
4
4
 
5
5
  const rootOfTheProject = path.join(__dirname, "../../../../../../");
6
- const pathToTranslationFile = "src/translations/en.json";
6
+ const pathToTranslationsDir = "src/translations";
7
7
  const pathToResolveFile = "resolve.js";
8
8
  const pathToJsConfigFile = "jsconfig.json";
9
9
 
@@ -19,7 +19,6 @@ const commonResolve = loadJS(
19
19
  "node_modules/@bigbinary/neeto-commons-frontend/configs/nanos/webpack/resolve.js"
20
20
  );
21
21
  const projectResolve = loadJS(pathToResolveFile);
22
- const en = loadJS(pathToTranslationFile);
23
22
  const resolve = mergeDeepLeft(projectResolve, commonResolve);
24
23
 
25
24
  module.exports = {
@@ -77,7 +76,10 @@ module.exports = {
77
76
  "@bigbinary/neeto/no-axios-import-outside-apis": ["error", resolve.alias],
78
77
  "@bigbinary/neeto/no-missing-localization": [
79
78
  "error",
80
- { name: "en.json", lng: "en", content: en },
79
+ {
80
+ translationsDir: path.join(rootOfTheProject, pathToTranslationsDir),
81
+ languages: ["en"],
82
+ },
81
83
  ],
82
84
  "@bigbinary/neeto/prefix-neeto-ui-import-alias": ["error", resolve.alias],
83
85
  "@bigbinary/neeto/use-webpack-alias": ["error", resolve.alias],
@@ -6,6 +6,11 @@ declare namespace Cypress {
6
6
  typeFast(selector: string, text: string): Void;
7
7
  typeAndEnter(selector: string, text: string): Void;
8
8
  verifyToastMessage(message: string): Void;
9
+
10
+ /**
11
+ * @param closeToastr Default value is true
12
+ */
13
+ verifyToastIcon(closeToastr: boolean): Void;
9
14
  continueOnAlert(
10
15
  alias:
11
16
  | string
@@ -40,8 +45,19 @@ declare namespace Cypress {
40
45
  clickDropdownOption(optionText: string, dropdownSelector: string): Void;
41
46
  getText(selector: string): Chainable<JQuery<HTMLElement>>;
42
47
  getValue(selector: string): Chainable<JQuery<HTMLElement>>;
48
+
49
+ /**
50
+ * @deprecated Use `withinIframe` instead.
51
+ */
43
52
  getIframe(iframeSelector: string): Chainable<JQuery<HTMLElement>>;
44
53
 
54
+ /**
55
+ * Selects and performs commands within an iframe element based on the given selector.
56
+ * @param iframeSelector The selector to locate the iframe element.
57
+ * @param callbackFn The callback function containing the commands to execute within the iframe.
58
+ */
59
+ withinIframe(iframeSelector: string, callbackFn: void): Void;
60
+
45
61
  /**
46
62
  * Command to open the url in the same window after clicking on a button that opens the url in a new tab
47
63
  */
@@ -76,9 +92,9 @@ declare namespace Cypress {
76
92
  navigateToPreviewPage(selector: string, requestCount: number): Void;
77
93
  saveChanges(aliasName: string, requestCount: number): Void;
78
94
  verifyAttribute(props: {
79
- selector: string,
80
- attr: string,
81
- value: string
95
+ selector: string;
96
+ attr: string;
97
+ value: string;
82
98
  }): Void;
83
99
  verifyUnsavedAlertModal(cancelButton: string): Void;
84
100
  verifyTooltip(selector: string, text: string): Void;
@@ -243,7 +243,9 @@ var commonTexts = {
243
243
  proceed: "Proceed",
244
244
  settings: "Settings",
245
245
  unsavedChangesAlertTitle: "You have unsaved changes!",
246
- unsavedChangesAlertMessage: "Are you sure you want to continue? All of your unsaved changes will be lost."
246
+ unsavedChangesAlertMessage: "Are you sure you want to continue? All of your unsaved changes will be lost.",
247
+ clearFilters: "Clear filters",
248
+ filters: "Filters"
247
249
  };
248
250
 
249
251
  function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -278,9 +280,10 @@ var initCustomCommands = function initCustomCommands() {
278
280
  cy.get(commonSelectors.toastMessage).should("not.exist");
279
281
  });
280
282
  Cypress.Commands.add("verifyToastIcon", function () {
281
- cy.get(commonSelectors.toastIcon).should("have.text", commonTexts.toastIcon);
282
- cy.get(commonSelectors.toastCloseButton).click();
283
- cy.get(commonSelectors.toastIcon).should("not.exist");
283
+ var closeToastr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
284
+ cy.document().its("body").find(commonSelectors.toastIcon).should("have.text", "👍");
285
+ closeToastr && cy.document().its("body").find(commonSelectors.toastCloseButton).click();
286
+ cy.document().its("body").find(commonSelectors.toastIcon).should("not.exist");
284
287
  });
285
288
  Cypress.Commands.add("continueOnAlert", function (args) {
286
289
  var props = _typeof(args) === "object" ? args : {
@@ -346,9 +349,19 @@ var initCustomCommands = function initCustomCommands() {
346
349
  Cypress.Commands.add("getValue", function (selector) {
347
350
  return cy.get(selector).invoke("val");
348
351
  });
352
+
353
+ // Deprecated. Use withinIframe.
349
354
  Cypress.Commands.add("getIframe", function (iframeSelector) {
350
355
  return cy.get(iframeSelector).its("0.contentDocument.body").should("not.be.empty");
351
356
  });
357
+ Cypress.Commands.add("withinIframe", function (selector, callback) {
358
+ cy.get(selector, {
359
+ timeout: 10000
360
+ }).its("0.contentDocument.body").should("be.visible").and("not.be.empty");
361
+ cy.get(selector, {
362
+ timeout: 10000
363
+ }).its("0.contentDocument.body").eq(0).within(callback);
364
+ });
352
365
  Cypress.Commands.add("openInSameTabOnClick", function (_ref) {
353
366
  var url = _ref.url,
354
367
  alias = _ref.alias,
@@ -470,7 +483,7 @@ var initCustomCommands = function initCustomCommands() {
470
483
  cy.get(commonSelectors.saveChangesButton).click();
471
484
  cy.wait("@".concat(aliasName));
472
485
  cy.verifyToastIcon();
473
- requestCount > 1 && cy.waitForMultipleRequest("@".concat(aliasName), requestCount);
486
+ requestCount > 1 && cy.waitForMultipleRequest("@".concat(aliasName), requestCount - 1);
474
487
  });
475
488
  Cypress.Commands.add("verifyAttribute", function (_ref5) {
476
489
  var selector = _ref5.selector,
@@ -485,9 +498,11 @@ var initCustomCommands = function initCustomCommands() {
485
498
  });
486
499
  Cypress.Commands.add("verifyTooltip", function (selector, text) {
487
500
  cy.get(selector).realHover();
488
- cy.get(commonSelectors.tooltip).should("have.text", text);
489
- cy.get("body").click();
490
- cy.get(commonSelectors.tooltip).should("not.exist");
501
+ cy.document().its("body").find(commonSelectors.tooltip).should("have.text", text);
502
+ cy.document().find("body").click("topRight", {
503
+ force: true
504
+ });
505
+ cy.document().its("body").find(commonSelectors.tooltip).should("not.exist");
491
506
  });
492
507
  };
493
508
 
@@ -522,7 +537,19 @@ var memberSelectors = {
522
537
  dropDownIcon: dataCy("ntm-members-table-row-dropdown-button"),
523
538
  editButton: dataCy("ntm-edit-member-button"),
524
539
  menuBarHeading: dataCy("ntm-members-menubar-heading"),
525
- activateOrDeactivateMember: dataCy("ntm-deactivate-member-button")
540
+ activateOrDeactivateMember: dataCy("ntm-deactivate-member-button"),
541
+ subHeader: "[data-testid='subheader']",
542
+ columnsButton: dataCy("columns-dropdown-button"),
543
+ columnsDropdownContainer: dataCy("columns-dropdown-container"),
544
+ emailDropdownItemLabel: dataCy("email-checkbox-label"),
545
+ roleDropdownItemLabel: dataCy("role-checkbox-label"),
546
+ inviteStatusDropdownItemLabel: dataCy("invite-status-checkbox-label"),
547
+ heading: dataCy("ntm-manage-members-pane-header"),
548
+ activateButton: dataCy("ntm-activate-members-button"),
549
+ deactivateButton: dataCy("ntm-deactivate-members-button"),
550
+ rolesButton: function rolesButton(index) {
551
+ return dataCy("ntm-manage-member-roles-button", ":eq(".concat(index, ")"));
552
+ }
526
553
  };
527
554
  var memberFormSelectors = {
528
555
  emailTextField: "input.neeto-ui-react-select__input:eq(0)",
@@ -583,14 +610,23 @@ var memberTexts = {
583
610
  newHeading: "Add new member",
584
611
  updatedMemberRole: function updatedMemberRole(email, role) {
585
612
  return "Updated ".concat(email, "'s role to ").concat(role, ".");
586
- }
613
+ },
614
+ searchMembers: "Search members",
615
+ noDataTitle: "There are no members to show",
616
+ editor: "Editor",
617
+ changeRole: "Change role",
618
+ changeRoleAlertMsg: function changeRoleAlertMsg(member, role) {
619
+ return "You are changing role of ".concat(member, " to ").concat(role, ". Are you sure you want to proceed?");
620
+ },
621
+ collaborator: "Collaborator"
587
622
  };
588
623
  var memberTableTexts = {
589
624
  created: "Created",
590
625
  email: "Email",
591
626
  name: "Name",
592
627
  role: "Role",
593
- teams: "Teams"
628
+ teams: "Teams",
629
+ inviteStatus: "Invite status"
594
630
  };
595
631
  var memberFormErrorTexts = {
596
632
  emailRequired: "Please enter at least one email address.",
@@ -875,15 +911,23 @@ var deactivateMember = function deactivateMember(_ref8) {
875
911
  email: email
876
912
  });
877
913
  };
878
- var checkColumnCheckBox = function checkColumnCheckBox(fieldSelector) {
879
- return cy.get(fieldSelector).parent().within(function () {
914
+ var unCheckColumnAndVerifyTableHeader = function unCheckColumnAndVerifyTableHeader(fieldSelector, columnText) {
915
+ clickOnColumnIcon();
916
+ cy.get(fieldSelector).parent().within(function () {
880
917
  cy.get(memberSelectors.columnCheckBox).should("be.checked").uncheck().should("not.be.checked");
881
918
  });
919
+ memberUtils.clickOnColumnIcon();
920
+ cy.get(memberSelectors.columnsDropdownContainer).should("not.exist");
921
+ cy.contains(tableSelectors.tableHeader, columnText).should("not.exist");
882
922
  };
883
- var unCheckColumnCheckBox = function unCheckColumnCheckBox(fieldSelector) {
884
- return cy.get(fieldSelector).parent().within(function () {
923
+ var checkColumnAndVerifyTableHeader = function checkColumnAndVerifyTableHeader(fieldSelector, columnText) {
924
+ clickOnColumnIcon();
925
+ cy.get(fieldSelector).parent().within(function () {
885
926
  cy.get(memberSelectors.columnCheckBox).should("not.be.checked").check().should("be.checked");
886
927
  });
928
+ memberUtils.clickOnColumnIcon();
929
+ cy.get(memberSelectors.columnsDropdownContainer).should("not.exist");
930
+ cy.contains(tableSelectors.tableHeader, columnText).should("be.visible");
887
931
  };
888
932
  var addMemberViaRequest = function addMemberViaRequest(_ref9) {
889
933
  var email = _ref9.email,
@@ -955,11 +999,16 @@ var deactivateMemberViaRequest = function deactivateMemberViaRequest(email) {
955
999
  });
956
1000
  cy.reloadAndWait(requestCount);
957
1001
  };
1002
+ var clickOnColumnIcon = function clickOnColumnIcon() {
1003
+ cy.get(memberSelectors.subHeader).should("exist").within(function () {
1004
+ cy.get(memberSelectors.columnsButton).click();
1005
+ });
1006
+ };
958
1007
  var memberUtils = {
959
1008
  addMemberViaRequest: addMemberViaRequest,
960
1009
  addMemberViaUI: addMemberViaUI,
961
1010
  activateMember: activateMember,
962
- checkColumnCheckBox: checkColumnCheckBox,
1011
+ checkColumnAndVerifyTableHeader: checkColumnAndVerifyTableHeader,
963
1012
  deactivateMember: deactivateMember,
964
1013
  deactivateMemberViaRequest: deactivateMemberViaRequest,
965
1014
  editMemberViaUI: editMemberViaUI,
@@ -967,8 +1016,9 @@ var memberUtils = {
967
1016
  updateMemberRole: updateMemberRole,
968
1017
  interceptMemberApi: interceptMemberApi,
969
1018
  navigateToMembersPage: navigateToMembersPage,
970
- unCheckColumnCheckBox: unCheckColumnCheckBox,
971
- verifyMemberDetails: verifyMemberDetails
1019
+ unCheckColumnAndVerifyTableHeader: unCheckColumnAndVerifyTableHeader,
1020
+ verifyMemberDetails: verifyMemberDetails,
1021
+ clickOnColumnIcon: clickOnColumnIcon
972
1022
  };
973
1023
 
974
1024
  var updateSubdmainIfExit = function updateSubdmainIfExit(appName, subdomainName) {