@bigbinary/neeto-commons-frontend 4.13.37 → 4.13.39

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.
Files changed (218) hide show
  1. package/README.md +0 -1
  2. package/configs/eslint/index.mjs +0 -1
  3. package/cypress-utils.d.ts +0 -40
  4. package/dist/cjs/{index-CUYe6FO0.js → index-BskY8dVw.js} +6 -4
  5. package/dist/cjs/index-BskY8dVw.js.map +1 -0
  6. package/dist/cjs/initializers/dayjs.js +3 -0
  7. package/dist/cjs/initializers/dayjs.js.map +1 -1
  8. package/dist/cjs/initializers/index.js +2 -0
  9. package/dist/cjs/initializers/index.js.map +1 -1
  10. package/dist/cjs/react-utils/BrowserPushNotifications/index.js +1 -2
  11. package/dist/cjs/react-utils/BrowserPushNotifications/index.js.map +1 -1
  12. package/dist/cjs/react-utils/BrowserPushNotifications/pushHelper.js +1 -2
  13. package/dist/cjs/react-utils/BrowserPushNotifications/pushHelper.js.map +1 -1
  14. package/dist/cjs/react-utils/BrowserPushNotifications/registerServiceWorker.js +1 -2
  15. package/dist/cjs/react-utils/BrowserPushNotifications/registerServiceWorker.js.map +1 -1
  16. package/dist/cjs/react-utils/index.js +1 -2
  17. package/dist/cjs/react-utils/index.js.map +1 -1
  18. package/dist/cjs/react-utils/useFetchNeetoApps/index.js +1 -2
  19. package/dist/cjs/react-utils/useFetchNeetoApps/index.js.map +1 -1
  20. package/dist/cjs/react-utils/useFetchNeetoApps/useFetchNeetoApps.js +1 -2
  21. package/dist/cjs/react-utils/useFetchNeetoApps/useFetchNeetoApps.js.map +1 -1
  22. package/dist/cjs/react-utils/useLocalStorage/index.js +1 -2
  23. package/dist/cjs/react-utils/useLocalStorage/index.js.map +1 -1
  24. package/dist/cjs/react-utils/useLocalStorage/useLocalStorage.js +1 -2
  25. package/dist/cjs/react-utils/useLocalStorage/useLocalStorage.js.map +1 -1
  26. package/dist/cjs/react-utils/usePersistedQuery/index.js +1 -2
  27. package/dist/cjs/react-utils/usePersistedQuery/index.js.map +1 -1
  28. package/dist/cjs/react-utils/usePersistedQuery/usePersistedQuery.js +1 -2
  29. package/dist/cjs/react-utils/usePersistedQuery/usePersistedQuery.js.map +1 -1
  30. package/dist/cjs/react-utils/useQueryParams/index.js +1 -2
  31. package/dist/cjs/react-utils/useQueryParams/index.js.map +1 -1
  32. package/dist/cjs/react-utils/useQueryParams/useQueryParams.js +1 -2
  33. package/dist/cjs/react-utils/useQueryParams/useQueryParams.js.map +1 -1
  34. package/dist/cjs/react-utils/useRegisterNavigationCheckpoint/index.js +1 -2
  35. package/dist/cjs/react-utils/useRegisterNavigationCheckpoint/index.js.map +1 -1
  36. package/dist/cjs/react-utils/useRegisterNavigationCheckpoint/useRegisterNavigationCheckpoint.js +1 -2
  37. package/dist/cjs/react-utils/useRegisterNavigationCheckpoint/useRegisterNavigationCheckpoint.js.map +1 -1
  38. package/dist/cjs/utils/createSubscription.js +1 -2
  39. package/dist/cjs/utils/createSubscription.js.map +1 -1
  40. package/dist/cjs/utils/general.js +1 -2
  41. package/dist/cjs/utils/general.js.map +1 -1
  42. package/dist/cjs/utils/index.js +1 -2
  43. package/dist/cjs/utils/index.js.map +1 -1
  44. package/dist/cjs/utils/localePlugin.js +502 -0
  45. package/dist/cjs/utils/localePlugin.js.map +1 -0
  46. package/dist/{index-COfUw8MU.js → index-CoBEoJgD.js} +5 -3
  47. package/dist/index-CoBEoJgD.js.map +1 -0
  48. package/dist/initializers/dayjs.js +3 -0
  49. package/dist/initializers/dayjs.js.map +1 -1
  50. package/dist/initializers/index.js +2 -0
  51. package/dist/initializers/index.js.map +1 -1
  52. package/dist/react-utils/BrowserPushNotifications/index.js +1 -2
  53. package/dist/react-utils/BrowserPushNotifications/index.js.map +1 -1
  54. package/dist/react-utils/BrowserPushNotifications/pushHelper.js +2 -3
  55. package/dist/react-utils/BrowserPushNotifications/pushHelper.js.map +1 -1
  56. package/dist/react-utils/BrowserPushNotifications/registerServiceWorker.js +1 -2
  57. package/dist/react-utils/BrowserPushNotifications/registerServiceWorker.js.map +1 -1
  58. package/dist/react-utils/index.js +1 -2
  59. package/dist/react-utils/index.js.map +1 -1
  60. package/dist/react-utils/useFetchNeetoApps/index.js +1 -2
  61. package/dist/react-utils/useFetchNeetoApps/index.js.map +1 -1
  62. package/dist/react-utils/useFetchNeetoApps/useFetchNeetoApps.js +1 -2
  63. package/dist/react-utils/useFetchNeetoApps/useFetchNeetoApps.js.map +1 -1
  64. package/dist/react-utils/useLocalStorage/index.js +1 -2
  65. package/dist/react-utils/useLocalStorage/index.js.map +1 -1
  66. package/dist/react-utils/useLocalStorage/useLocalStorage.js +1 -2
  67. package/dist/react-utils/useLocalStorage/useLocalStorage.js.map +1 -1
  68. package/dist/react-utils/usePersistedQuery/index.js +1 -2
  69. package/dist/react-utils/usePersistedQuery/index.js.map +1 -1
  70. package/dist/react-utils/usePersistedQuery/usePersistedQuery.js +1 -2
  71. package/dist/react-utils/usePersistedQuery/usePersistedQuery.js.map +1 -1
  72. package/dist/react-utils/useQueryParams/index.js +1 -2
  73. package/dist/react-utils/useQueryParams/index.js.map +1 -1
  74. package/dist/react-utils/useQueryParams/useQueryParams.js +1 -2
  75. package/dist/react-utils/useQueryParams/useQueryParams.js.map +1 -1
  76. package/dist/react-utils/useRegisterNavigationCheckpoint/index.js +1 -2
  77. package/dist/react-utils/useRegisterNavigationCheckpoint/index.js.map +1 -1
  78. package/dist/react-utils/useRegisterNavigationCheckpoint/useRegisterNavigationCheckpoint.js +1 -2
  79. package/dist/react-utils/useRegisterNavigationCheckpoint/useRegisterNavigationCheckpoint.js.map +1 -1
  80. package/dist/utils/createSubscription.js +1 -2
  81. package/dist/utils/createSubscription.js.map +1 -1
  82. package/dist/utils/general.js +1 -2
  83. package/dist/utils/general.js.map +1 -1
  84. package/dist/utils/index.js +1 -2
  85. package/dist/utils/index.js.map +1 -1
  86. package/dist/utils/localePlugin.js +500 -0
  87. package/dist/utils/localePlugin.js.map +1 -0
  88. package/package.json +1 -10
  89. package/cypress-configs/initializer.js +0 -32
  90. package/cypress-configs/plugins.js +0 -114
  91. package/cypress-configs/resolve.js +0 -17
  92. package/cypress-configs/webpack.config.js +0 -19
  93. package/dist/_commonjsHelpers-B85MJLTf.js +0 -6
  94. package/dist/_commonjsHelpers-B85MJLTf.js.map +0 -1
  95. package/dist/cjs/_commonjsHelpers-CFO10eej.js +0 -8
  96. package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +0 -1
  97. package/dist/cjs/cypress-utils/.eslintrc.js +0 -40
  98. package/dist/cjs/cypress-utils/.eslintrc.js.map +0 -1
  99. package/dist/cjs/cypress-utils/commands.js +0 -288
  100. package/dist/cjs/cypress-utils/commands.js.map +0 -1
  101. package/dist/cjs/cypress-utils/constants/index.js +0 -11
  102. package/dist/cjs/cypress-utils/constants/index.js.map +0 -1
  103. package/dist/cjs/cypress-utils/constants/routes.js +0 -41
  104. package/dist/cjs/cypress-utils/constants/routes.js.map +0 -1
  105. package/dist/cjs/cypress-utils/constants/selectors/common.js +0 -104
  106. package/dist/cjs/cypress-utils/constants/selectors/common.js.map +0 -1
  107. package/dist/cjs/cypress-utils/constants/selectors/editor.js +0 -30
  108. package/dist/cjs/cypress-utils/constants/selectors/editor.js.map +0 -1
  109. package/dist/cjs/cypress-utils/constants/selectors/ipRestriction.js +0 -20
  110. package/dist/cjs/cypress-utils/constants/selectors/ipRestriction.js.map +0 -1
  111. package/dist/cjs/cypress-utils/constants/selectors/login.js +0 -22
  112. package/dist/cjs/cypress-utils/constants/selectors/login.js.map +0 -1
  113. package/dist/cjs/cypress-utils/constants/selectors/member.js +0 -67
  114. package/dist/cjs/cypress-utils/constants/selectors/member.js.map +0 -1
  115. package/dist/cjs/cypress-utils/constants/selectors/navigation.js +0 -29
  116. package/dist/cjs/cypress-utils/constants/selectors/navigation.js.map +0 -1
  117. package/dist/cjs/cypress-utils/constants/selectors/roles.js +0 -22
  118. package/dist/cjs/cypress-utils/constants/selectors/roles.js.map +0 -1
  119. package/dist/cjs/cypress-utils/constants/selectors/signUp.js +0 -24
  120. package/dist/cjs/cypress-utils/constants/selectors/signUp.js.map +0 -1
  121. package/dist/cjs/cypress-utils/constants/selectors/tags.js +0 -32
  122. package/dist/cjs/cypress-utils/constants/selectors/tags.js.map +0 -1
  123. package/dist/cjs/cypress-utils/constants/texts/common.js +0 -37
  124. package/dist/cjs/cypress-utils/constants/texts/common.js.map +0 -1
  125. package/dist/cjs/cypress-utils/constants/texts/member.js +0 -65
  126. package/dist/cjs/cypress-utils/constants/texts/member.js.map +0 -1
  127. package/dist/cjs/cypress-utils/constants/texts/navigation.js +0 -21
  128. package/dist/cjs/cypress-utils/constants/texts/navigation.js.map +0 -1
  129. package/dist/cjs/cypress-utils/constants/texts/roles.js +0 -22
  130. package/dist/cjs/cypress-utils/constants/texts/roles.js.map +0 -1
  131. package/dist/cjs/cypress-utils/constants/texts/signUp.js +0 -11
  132. package/dist/cjs/cypress-utils/constants/texts/signUp.js.map +0 -1
  133. package/dist/cjs/cypress-utils/constants/texts/tags.js +0 -25
  134. package/dist/cjs/cypress-utils/constants/texts/tags.js.map +0 -1
  135. package/dist/cjs/cypress-utils/fixtures/fake.js +0 -175
  136. package/dist/cjs/cypress-utils/fixtures/fake.js.map +0 -1
  137. package/dist/cjs/cypress-utils/index.js +0 -72
  138. package/dist/cjs/cypress-utils/index.js.map +0 -1
  139. package/dist/cjs/cypress-utils/jsconfig.js +0 -33
  140. package/dist/cjs/cypress-utils/jsconfig.js.map +0 -1
  141. package/dist/cjs/cypress-utils/utils/authentication.js +0 -50
  142. package/dist/cjs/cypress-utils/utils/authentication.js.map +0 -1
  143. package/dist/cjs/cypress-utils/utils/common.js +0 -90
  144. package/dist/cjs/cypress-utils/utils/common.js.map +0 -1
  145. package/dist/cjs/cypress-utils/utils/date.js +0 -25
  146. package/dist/cjs/cypress-utils/utils/date.js.map +0 -1
  147. package/dist/cjs/cypress-utils/utils/email.js +0 -163
  148. package/dist/cjs/cypress-utils/utils/email.js.map +0 -1
  149. package/dist/cjs/cypress-utils/utils/member.js +0 -353
  150. package/dist/cjs/cypress-utils/utils/member.js.map +0 -1
  151. package/dist/cjs/cypress-utils/utils/navigation.js +0 -214
  152. package/dist/cjs/cypress-utils/utils/navigation.js.map +0 -1
  153. package/dist/cjs/cypress-utils/utils/organization.js +0 -110
  154. package/dist/cjs/cypress-utils/utils/organization.js.map +0 -1
  155. package/dist/cjs/cypress-utils/utils/validation.js +0 -19
  156. package/dist/cjs/cypress-utils/utils/validation.js.map +0 -1
  157. package/dist/cjs/index-CUYe6FO0.js.map +0 -1
  158. package/dist/cypress-utils/.eslintrc.js +0 -38
  159. package/dist/cypress-utils/.eslintrc.js.map +0 -1
  160. package/dist/cypress-utils/commands.js +0 -286
  161. package/dist/cypress-utils/commands.js.map +0 -1
  162. package/dist/cypress-utils/constants/index.js +0 -9
  163. package/dist/cypress-utils/constants/index.js.map +0 -1
  164. package/dist/cypress-utils/constants/routes.js +0 -38
  165. package/dist/cypress-utils/constants/routes.js.map +0 -1
  166. package/dist/cypress-utils/constants/selectors/common.js +0 -100
  167. package/dist/cypress-utils/constants/selectors/common.js.map +0 -1
  168. package/dist/cypress-utils/constants/selectors/editor.js +0 -28
  169. package/dist/cypress-utils/constants/selectors/editor.js.map +0 -1
  170. package/dist/cypress-utils/constants/selectors/ipRestriction.js +0 -18
  171. package/dist/cypress-utils/constants/selectors/ipRestriction.js.map +0 -1
  172. package/dist/cypress-utils/constants/selectors/login.js +0 -20
  173. package/dist/cypress-utils/constants/selectors/login.js.map +0 -1
  174. package/dist/cypress-utils/constants/selectors/member.js +0 -63
  175. package/dist/cypress-utils/constants/selectors/member.js.map +0 -1
  176. package/dist/cypress-utils/constants/selectors/navigation.js +0 -26
  177. package/dist/cypress-utils/constants/selectors/navigation.js.map +0 -1
  178. package/dist/cypress-utils/constants/selectors/roles.js +0 -20
  179. package/dist/cypress-utils/constants/selectors/roles.js.map +0 -1
  180. package/dist/cypress-utils/constants/selectors/signUp.js +0 -22
  181. package/dist/cypress-utils/constants/selectors/signUp.js.map +0 -1
  182. package/dist/cypress-utils/constants/selectors/tags.js +0 -29
  183. package/dist/cypress-utils/constants/selectors/tags.js.map +0 -1
  184. package/dist/cypress-utils/constants/texts/common.js +0 -35
  185. package/dist/cypress-utils/constants/texts/common.js.map +0 -1
  186. package/dist/cypress-utils/constants/texts/member.js +0 -61
  187. package/dist/cypress-utils/constants/texts/member.js.map +0 -1
  188. package/dist/cypress-utils/constants/texts/navigation.js +0 -18
  189. package/dist/cypress-utils/constants/texts/navigation.js.map +0 -1
  190. package/dist/cypress-utils/constants/texts/roles.js +0 -20
  191. package/dist/cypress-utils/constants/texts/roles.js.map +0 -1
  192. package/dist/cypress-utils/constants/texts/signUp.js +0 -9
  193. package/dist/cypress-utils/constants/texts/signUp.js.map +0 -1
  194. package/dist/cypress-utils/constants/texts/tags.js +0 -23
  195. package/dist/cypress-utils/constants/texts/tags.js.map +0 -1
  196. package/dist/cypress-utils/fixtures/fake.js +0 -173
  197. package/dist/cypress-utils/fixtures/fake.js.map +0 -1
  198. package/dist/cypress-utils/index.js +0 -28
  199. package/dist/cypress-utils/index.js.map +0 -1
  200. package/dist/cypress-utils/jsconfig.js +0 -26
  201. package/dist/cypress-utils/jsconfig.js.map +0 -1
  202. package/dist/cypress-utils/utils/authentication.js +0 -48
  203. package/dist/cypress-utils/utils/authentication.js.map +0 -1
  204. package/dist/cypress-utils/utils/common.js +0 -78
  205. package/dist/cypress-utils/utils/common.js.map +0 -1
  206. package/dist/cypress-utils/utils/date.js +0 -23
  207. package/dist/cypress-utils/utils/date.js.map +0 -1
  208. package/dist/cypress-utils/utils/email.js +0 -160
  209. package/dist/cypress-utils/utils/email.js.map +0 -1
  210. package/dist/cypress-utils/utils/member.js +0 -351
  211. package/dist/cypress-utils/utils/member.js.map +0 -1
  212. package/dist/cypress-utils/utils/navigation.js +0 -212
  213. package/dist/cypress-utils/utils/navigation.js.map +0 -1
  214. package/dist/cypress-utils/utils/organization.js +0 -108
  215. package/dist/cypress-utils/utils/organization.js.map +0 -1
  216. package/dist/cypress-utils/utils/validation.js +0 -17
  217. package/dist/cypress-utils/utils/validation.js.map +0 -1
  218. package/dist/index-COfUw8MU.js.map +0 -1
@@ -1,160 +0,0 @@
1
- import { _ as _defineProperty } from '../../defineProperty-CrCYjjU3.js';
2
- import '../../typeof-D-UKOauR.js';
3
-
4
- var hostname = "api.fastmail.com";
5
- var username = Cypress.env("FASTMAIL_USERNAME") || "cypress@mixarrow.com";
6
- var token = Cypress.env("FASTMAIL_TOKEN");
7
- var authUrl = "https://".concat(hostname, "/.well-known/jmap");
8
- var headers = {
9
- "Content-Type": "application/json",
10
- Authorization: "Bearer ".concat(token)
11
- };
12
- var getSession = function getSession() {
13
- return cy.request({
14
- url: authUrl,
15
- method: "GET",
16
- headers: headers
17
- });
18
- };
19
- var getDraftId = function getDraftId(_ref) {
20
- var apiUrl = _ref.apiUrl,
21
- accountId = _ref.accountId;
22
- cy.request({
23
- url: apiUrl,
24
- method: "POST",
25
- headers: headers,
26
- body: JSON.stringify({
27
- using: ["urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail"],
28
- methodCalls: [["Mailbox/query", {
29
- accountId: accountId,
30
- filter: {
31
- name: "Drafts"
32
- }
33
- }, "a"]]
34
- })
35
- }).then(function (_ref2) {
36
- var data = _ref2.body;
37
- return cy.wrap(data["methodResponses"][0][1].ids[0]).as("draftId");
38
- });
39
- };
40
- var getIdentityId = function getIdentityId(_ref3) {
41
- var apiUrl = _ref3.apiUrl,
42
- accountId = _ref3.accountId;
43
- cy.request({
44
- url: apiUrl,
45
- method: "POST",
46
- headers: headers,
47
- body: JSON.stringify({
48
- using: ["urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail", "urn:ietf:params:jmap:submission"],
49
- methodCalls: [["Identity/get", {
50
- accountId: accountId,
51
- ids: null
52
- }, "a"]]
53
- })
54
- }).then(function (_ref4) {
55
- var data = _ref4.body;
56
- var identities = data["methodResponses"][0][1].list;
57
- var identityId = identities.find(function (_ref5) {
58
- var email = _ref5.email;
59
- return email === username;
60
- }).id;
61
- cy.wrap(identityId).as("identityId");
62
- });
63
- };
64
- var composeEmail = function composeEmail(_ref6) {
65
- var apiUrl = _ref6.apiUrl,
66
- accountId = _ref6.accountId,
67
- draftId = _ref6.draftId,
68
- identityId = _ref6.identityId,
69
- emailDetails = _ref6.emailDetails;
70
- var subject = emailDetails.subject,
71
- body = emailDetails.body,
72
- to = emailDetails.to,
73
- senderName = emailDetails.senderName;
74
- var draftObject = {
75
- from: [{
76
- email: username,
77
- name: senderName
78
- }],
79
- to: [{
80
- email: to
81
- }],
82
- subject: subject,
83
- keywords: {
84
- $draft: true
85
- },
86
- mailboxIds: _defineProperty({}, draftId, true),
87
- bodyValues: {
88
- body: {
89
- value: body,
90
- charset: "utf-8"
91
- }
92
- },
93
- textBody: [{
94
- partId: "body",
95
- type: "text/plain"
96
- }]
97
- };
98
- cy.request({
99
- url: apiUrl,
100
- method: "POST",
101
- headers: headers,
102
- body: JSON.stringify({
103
- using: ["urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail", "urn:ietf:params:jmap:submission"],
104
- methodCalls: [["Email/set", {
105
- accountId: accountId,
106
- create: {
107
- draft: draftObject
108
- }
109
- }, "a"], ["EmailSubmission/set", {
110
- accountId: accountId,
111
- onSuccessDestroyEmail: ["#sendIt"],
112
- create: {
113
- sendIt: {
114
- emailId: "#draft",
115
- identityId: identityId
116
- }
117
- }
118
- }, "b"]]
119
- })
120
- });
121
- };
122
- var checkForEnvs = function checkForEnvs() {
123
- if (!token) {
124
- throw new Error("Please provide CYPRESS_FASTMAIL_USERNAME and CYPRESS_FASTMAIL_TOKEN as environment variables");
125
- }
126
- };
127
- var sendEmail = function sendEmail(emailDetails) {
128
- checkForEnvs();
129
- getSession().then(function (_ref7) {
130
- var session = _ref7.body;
131
- var apiUrl = session.apiUrl,
132
- primaryAccounts = session.primaryAccounts;
133
- var accountId = primaryAccounts["urn:ietf:params:jmap:mail"];
134
- getDraftId({
135
- apiUrl: apiUrl,
136
- accountId: accountId
137
- });
138
- getIdentityId({
139
- apiUrl: apiUrl,
140
- accountId: accountId
141
- });
142
- cy.get("@draftId").then(function (draftId) {
143
- cy.get("@identityId").then(function (identityId) {
144
- return composeEmail({
145
- apiUrl: apiUrl,
146
- accountId: accountId,
147
- draftId: draftId,
148
- identityId: identityId,
149
- emailDetails: emailDetails
150
- });
151
- });
152
- });
153
- });
154
- };
155
- var emailUtils = {
156
- sendEmail: sendEmail
157
- };
158
-
159
- export { emailUtils, sendEmail };
160
- //# sourceMappingURL=email.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email.js","sources":["../../../src/cypress-utils/utils/email.js"],"sourcesContent":["const hostname = \"api.fastmail.com\";\nconst username = Cypress.env(\"FASTMAIL_USERNAME\") || \"cypress@mixarrow.com\";\nconst token = Cypress.env(\"FASTMAIL_TOKEN\");\n\nconst authUrl = `https://${hostname}/.well-known/jmap`;\nconst headers = {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`,\n};\n\nconst getSession = () => cy.request({ url: authUrl, method: \"GET\", headers });\n\nconst getDraftId = ({ apiUrl, accountId }) => {\n cy.request({\n url: apiUrl,\n method: \"POST\",\n headers,\n body: JSON.stringify({\n using: [\"urn:ietf:params:jmap:core\", \"urn:ietf:params:jmap:mail\"],\n methodCalls: [\n [\"Mailbox/query\", { accountId, filter: { name: \"Drafts\" } }, \"a\"],\n ],\n }),\n }).then(({ body: data }) =>\n cy.wrap(data[\"methodResponses\"][0][1].ids[0]).as(\"draftId\")\n );\n};\n\nconst getIdentityId = ({ apiUrl, accountId }) => {\n cy.request({\n url: apiUrl,\n method: \"POST\",\n headers,\n body: JSON.stringify({\n using: [\n \"urn:ietf:params:jmap:core\",\n \"urn:ietf:params:jmap:mail\",\n \"urn:ietf:params:jmap:submission\",\n ],\n methodCalls: [[\"Identity/get\", { accountId, ids: null }, \"a\"]],\n }),\n }).then(({ body: data }) => {\n const identities = data[\"methodResponses\"][0][1].list;\n const identityId = identities.find(({ email }) => email === username).id;\n cy.wrap(identityId).as(\"identityId\");\n });\n};\n\nconst composeEmail = ({\n apiUrl,\n accountId,\n draftId,\n identityId,\n emailDetails,\n}) => {\n const { subject, body, to, senderName } = emailDetails;\n\n const draftObject = {\n from: [{ email: username, name: senderName }],\n to: [{ email: to }],\n subject,\n keywords: { $draft: true },\n mailboxIds: { [draftId]: true },\n bodyValues: { body: { value: body, charset: \"utf-8\" } },\n textBody: [{ partId: \"body\", type: \"text/plain\" }],\n };\n\n cy.request({\n url: apiUrl,\n method: \"POST\",\n headers,\n body: JSON.stringify({\n using: [\n \"urn:ietf:params:jmap:core\",\n \"urn:ietf:params:jmap:mail\",\n \"urn:ietf:params:jmap:submission\",\n ],\n methodCalls: [\n [\"Email/set\", { accountId, create: { draft: draftObject } }, \"a\"],\n [\n \"EmailSubmission/set\",\n {\n accountId,\n onSuccessDestroyEmail: [\"#sendIt\"],\n create: { sendIt: { emailId: \"#draft\", identityId } },\n },\n \"b\",\n ],\n ],\n }),\n });\n};\n\nconst checkForEnvs = () => {\n if (!username || !token) {\n throw new Error(\n \"Please provide CYPRESS_FASTMAIL_USERNAME and CYPRESS_FASTMAIL_TOKEN as environment variables\"\n );\n }\n};\n\nexport const sendEmail = emailDetails => {\n checkForEnvs();\n getSession().then(({ body: session }) => {\n const { apiUrl, primaryAccounts } = session;\n const accountId = primaryAccounts[\"urn:ietf:params:jmap:mail\"];\n getDraftId({ apiUrl, accountId });\n getIdentityId({ apiUrl, accountId });\n cy.get(\"@draftId\").then(draftId => {\n cy.get(\"@identityId\").then(identityId =>\n composeEmail({ apiUrl, accountId, draftId, identityId, emailDetails })\n );\n });\n });\n};\n\nexport const emailUtils = { sendEmail };\n"],"names":["hostname","username","Cypress","env","token","authUrl","concat","headers","Authorization","getSession","cy","request","url","method","getDraftId","_ref","apiUrl","accountId","body","JSON","stringify","using","methodCalls","filter","name","then","_ref2","data","wrap","ids","as","getIdentityId","_ref3","_ref4","identities","list","identityId","find","_ref5","email","id","composeEmail","_ref6","draftId","emailDetails","subject","to","senderName","draftObject","from","keywords","$draft","mailboxIds","_defineProperty","bodyValues","value","charset","textBody","partId","type","create","draft","onSuccessDestroyEmail","sendIt","emailId","checkForEnvs","Error","sendEmail","_ref7","session","primaryAccounts","get","emailUtils"],"mappings":"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"}
@@ -1,351 +0,0 @@
1
- import { _ as _defineProperty } from '../../defineProperty-CrCYjjU3.js';
2
- import { isStagingEnv } from './common.js';
3
- import { urlPaths, requestApis } from '../constants/routes.js';
4
- import { commonSelectors, tableSelectors } from '../constants/selectors/common.js';
5
- import { memberSelectors, memberFormSelectors } from '../constants/selectors/member.js';
6
- import { commonTexts } from '../constants/texts/common.js';
7
- import { memberTexts, memberFormErrorTexts } from '../constants/texts/member.js';
8
- import '../../typeof-D-UKOauR.js';
9
- import '../constants/index.js';
10
-
11
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
- var interceptMemberApi = function interceptMemberApi(alias) {
14
- var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
15
- return cy.intercept({
16
- url: requestApis.teamMembers.all,
17
- times: times
18
- }).as(alias);
19
- };
20
- var navigateToMembersPage = function navigateToMembersPage() {
21
- var waitForRequest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
22
- waitForRequest && interceptMemberApi("fetchMembers", 2);
23
- cy.get(memberSelectors.membersTab).click();
24
- cy.url().should("include", urlPaths.members);
25
- waitForRequest && cy.waitForMultipleRequest("@fetchMembers", 2);
26
- cy.get(commonSelectors.heading).should("have.text", memberTexts.activeMembersHeading);
27
- };
28
- var addMemberViaUI = function addMemberViaUI(_ref) {
29
- var email = _ref.email,
30
- _ref$role = _ref.role,
31
- role = _ref$role === void 0 ? memberTexts.agent : _ref$role,
32
- appName = _ref.appName;
33
- var invalidEmail = "Invalid email";
34
- cy.get(memberSelectors.newButton).should("have.text", memberTexts.addMember).click();
35
- cy.get(commonSelectors.paneHeader).should("have.text", memberTexts.newHeading);
36
- cy.get(memberFormSelectors.emailTextField).should("be.focused");
37
- cy.get(memberFormSelectors.cancelButton).click();
38
- cy.get(commonSelectors.paneHeader).should("not.exist");
39
-
40
- // form validation
41
- cy.get(memberSelectors.newButton).should("be.visible").click();
42
- cy.get(memberSelectors.continueButton).should("be.disabled");
43
- cy.get(memberSelectors.roleLabel(role)).click();
44
- cy.get(memberSelectors.continueButton).click();
45
- cy.get(memberFormSelectors.emailErrorField).should("contain.text", memberFormErrorTexts.emailRequired);
46
- cy.typeAndEnter(memberFormSelectors.emailTextField, invalidEmail);
47
- cy.get(memberFormSelectors.emailErrorField).should("contains.text", memberFormErrorTexts.emailInvalid);
48
- cy.get(memberFormSelectors.emailErrorField).should("contain.text", memberFormErrorTexts.removeInvalidEmail);
49
- cy.get(commonSelectors.paneModalCrossIcon).click();
50
- cy.get(commonSelectors.paneHeader).should("not.exist");
51
-
52
- // form submission
53
- cy.get(memberSelectors.newButton).click();
54
- cy.typeAndEnter(memberFormSelectors.emailTextField, email);
55
- cy.get(memberSelectors.roleLabel(role)).click();
56
- cy.get(memberSelectors.continueButton).click();
57
- if (isStagingEnv) {
58
- cy.get(commonSelectors.checkboxLabel).should("have.text", memberTexts.addMemberToProducts(email));
59
- cy.get(commonSelectors.paneBody).within(function () {
60
- return cy.get(memberSelectors.checkbox).uncheck();
61
- });
62
- cy.get(memberSelectors.continueButton).click();
63
- }
64
- cy.get(commonSelectors.paneBody).should("contain.text", memberTexts.inviteMessage({
65
- email: email,
66
- role: role,
67
- appName: appName
68
- }));
69
- interceptMemberApi("createAndFetchMember", 2);
70
- cy.get(memberSelectors.submitButton).click();
71
- cy.wait("@createAndFetchMember");
72
- cy.verifyToastIcon();
73
- cy.wait("@createAndFetchMember");
74
- verifyMemberDetails({
75
- email: email,
76
- role: role,
77
- skipSearchRequest: false
78
- });
79
- };
80
- var editMemberViaUI = function editMemberViaUI(_ref2) {
81
- var email = _ref2.email,
82
- newRole = _ref2.newRole,
83
- firstName = _ref2.firstName,
84
- lastName = _ref2.lastName,
85
- newEmail = _ref2.newEmail,
86
- skipSearchRequest = _ref2.skipSearchRequest,
87
- _ref2$updateCount = _ref2.updateCount,
88
- updateCount = _ref2$updateCount === void 0 ? 2 : _ref2$updateCount;
89
- var name = firstName && lastName ? [firstName, lastName].join(" ") : null;
90
- verifyMemberDetails({
91
- email: email,
92
- skipSearchRequest: skipSearchRequest
93
- }).within(function () {
94
- cy.get(memberSelectors.dropDownIcon).click();
95
- });
96
- cy.get(memberSelectors.editButton).should("have.text", commonTexts.edit).click();
97
- cy.get(commonSelectors.paneHeader).should("have.text", memberTexts.editMember);
98
- cy.get(memberFormSelectors.firstNameTextField).should("be.focused");
99
- cy.get(memberSelectors.roleLabel(newRole)).click();
100
- cy.get(memberFormSelectors.emailInput).should("have.value", email);
101
- newEmail && cy.clearAndType(memberFormSelectors.emailInput, newEmail);
102
- firstName && cy.clearAndType(memberFormSelectors.firstNameTextField, firstName);
103
- lastName && cy.clearAndType(memberFormSelectors.lastNameTextField, lastName);
104
- interceptMemberApi("updateAndFetchMember", updateCount);
105
- cy.get(memberSelectors.submitButton).click();
106
- cy.wait("@updateAndFetchMember");
107
- cy.verifyToastIcon();
108
- cy.waitForMultipleRequest("@updateAndFetchMember", updateCount - 1);
109
- verifyMemberDetails({
110
- email: newEmail !== null && newEmail !== void 0 ? newEmail : email,
111
- role: newRole,
112
- name: name,
113
- skipSearchRequest: true
114
- });
115
- };
116
- var verifyMemberDetails = function verifyMemberDetails(_ref3) {
117
- var email = _ref3.email,
118
- role = _ref3.role,
119
- name = _ref3.name,
120
- statusTag = _ref3.statusTag,
121
- _ref3$skipSearchReque = _ref3.skipSearchRequest,
122
- skipSearchRequest = _ref3$skipSearchReque === void 0 ? true : _ref3$skipSearchReque;
123
- !skipSearchRequest && interceptMemberApi("searchMember");
124
- cy.typeOnSearchField({
125
- selector: memberSelectors.searchTextField,
126
- value: email
127
- });
128
- !skipSearchRequest && cy.wait("@searchMember");
129
- return cy.contains(tableSelectors.tableRow, email).within(function () {
130
- cy.get(tableSelectors.nthColumn(3)).should("have.text", email);
131
- cy.get(tableSelectors.nthColumn(2)).within(function () {
132
- name && cy.get("p").should("contain.text", name);
133
- });
134
- role && cy.get(tableSelectors.nthColumn(4)).should("have.text", role);
135
- statusTag && cy.get(memberSelectors.statusTag).should("have.text", statusTag);
136
- });
137
- };
138
- var updateMemberRole = function updateMemberRole(_ref4) {
139
- var email = _ref4.email,
140
- role = _ref4.role,
141
- skipSearchRequest = _ref4.skipSearchRequest;
142
- verifyMemberDetails({
143
- email: email,
144
- skipSearchRequest: skipSearchRequest
145
- }).within(function () {
146
- return cy.clickDropdownOption(commonTexts.edit);
147
- });
148
- cy.get(commonSelectors.paneHeader).should("have.text", memberTexts.updateMemberRole);
149
- cy.get(memberSelectors.roleLabel(role)).click();
150
- interceptMemberApi("updateAndFetchMember", 2);
151
- cy.get(memberSelectors.submitButton).click();
152
- cy.wait("@updateAndFetchMember");
153
- cy.verifyToastIcon();
154
- cy.wait("@updateAndFetchMember");
155
- verifyMemberDetails({
156
- email: email,
157
- role: role
158
- });
159
- };
160
- var verifyActivatedMember = function verifyActivatedMember(_ref5) {
161
- var email = _ref5.email,
162
- _ref5$skipFetchReques = _ref5.skipFetchRequest,
163
- skipFetchRequest = _ref5$skipFetchReques === void 0 ? false : _ref5$skipFetchReques,
164
- _ref5$skipSearchReque = _ref5.skipSearchRequest,
165
- skipSearchRequest = _ref5$skipSearchReque === void 0 ? true : _ref5$skipSearchReque;
166
- cy.get(commonSelectors.toggleButton).click();
167
- cy.get(memberSelectors.menuBarHeading).should("have.text", memberTexts.members);
168
- !skipFetchRequest && interceptMemberApi("fetchActivatedMembers");
169
- cy.get(memberSelectors.activatedMembersButton).click();
170
- !skipFetchRequest && cy.wait("@fetchActivatedMembers");
171
- verifyMemberDetails({
172
- email: email,
173
- skipSearchRequest: skipSearchRequest
174
- });
175
- cy.get(commonSelectors.toggleButton).click();
176
- };
177
- var verifyDeactivatedMember = function verifyDeactivatedMember(_ref6) {
178
- var email = _ref6.email,
179
- _ref6$skipFetchReques = _ref6.skipFetchRequest,
180
- skipFetchRequest = _ref6$skipFetchReques === void 0 ? false : _ref6$skipFetchReques,
181
- _ref6$skipSearchReque = _ref6.skipSearchRequest,
182
- skipSearchRequest = _ref6$skipSearchReque === void 0 ? true : _ref6$skipSearchReque;
183
- cy.get(commonSelectors.toggleButton).click();
184
- cy.get(memberSelectors.menuBarHeading).should("have.text", memberTexts.members);
185
- !skipFetchRequest && interceptMemberApi("fetchDeactivatedMembers");
186
- cy.get(memberSelectors.deactivatedAgentsButton).click();
187
- !skipFetchRequest && cy.wait("@fetchDeactivatedMembers");
188
- verifyMemberDetails({
189
- email: email,
190
- skipSearchRequest: skipSearchRequest
191
- });
192
- cy.get(commonSelectors.toggleButton).click();
193
- };
194
- var activateMember = function activateMember(_ref7) {
195
- var email = _ref7.email,
196
- name = _ref7.name,
197
- _ref7$skipSearchReque = _ref7.skipSearchRequest,
198
- skipSearchRequest = _ref7$skipSearchReque === void 0 ? true : _ref7$skipSearchReque;
199
- verifyMemberDetails({
200
- email: email,
201
- skipSearchRequest: skipSearchRequest
202
- }).within(function () {
203
- cy.get(memberSelectors.dropDownIcon).click();
204
- });
205
- cy.get(memberSelectors.activateOrDeactivateMember).should("have.text", commonTexts.activate).click();
206
- cy.get(commonSelectors.alertTitle).should("have.text", memberTexts.activateMember);
207
- cy.get(commonSelectors.alertModalMessage).should("have.text", memberTexts.activateMemberAlertMessage(name || email));
208
- interceptMemberApi("activateAndFetchMember", 2);
209
- cy.get(commonSelectors.alertModalSubmitButton).click();
210
- cy.wait("@activateAndFetchMember");
211
- cy.verifyToastIcon();
212
- cy.wait("@activateAndFetchMember");
213
- verifyActivatedMember({
214
- email: email
215
- });
216
- };
217
- var deactivateMember = function deactivateMember(_ref8) {
218
- var email = _ref8.email,
219
- name = _ref8.name,
220
- _ref8$skipSearchReque = _ref8.skipSearchRequest,
221
- skipSearchRequest = _ref8$skipSearchReque === void 0 ? true : _ref8$skipSearchReque;
222
- verifyMemberDetails({
223
- email: email,
224
- skipSearchRequest: skipSearchRequest
225
- }).within(function () {
226
- cy.get(memberSelectors.dropDownIcon).click();
227
- });
228
- cy.get(memberSelectors.activateOrDeactivateMember).should("have.text", commonTexts.deactivate).click();
229
- cy.get(commonSelectors.alertTitle).should("have.text", memberTexts.deactivateMember);
230
- cy.get(commonSelectors.alertModalMessage).should("have.text", memberTexts.deactivateMemberAlertMessage(name || email));
231
- interceptMemberApi("deactivateAndFetchMember", 2);
232
- cy.get(commonSelectors.alertModalSubmitButton).click();
233
- cy.wait("@deactivateAndFetchMember");
234
- cy.verifyToastIcon();
235
- cy.wait("@deactivateAndFetchMember");
236
- verifyDeactivatedMember({
237
- email: email
238
- });
239
- };
240
- var unCheckColumnAndVerifyTableHeader = function unCheckColumnAndVerifyTableHeader(fieldSelector, columnText) {
241
- clickOnColumnIcon();
242
- cy.get(fieldSelector).parent().within(function () {
243
- cy.get(memberSelectors.columnCheckBox).should("be.checked").uncheck().should("not.be.checked");
244
- });
245
- memberUtils.clickOnColumnIcon();
246
- cy.get(memberSelectors.columnsDropdownContainer).should("not.exist");
247
- cy.contains(tableSelectors.tableHeader, columnText).should("not.exist");
248
- };
249
- var checkColumnAndVerifyTableHeader = function checkColumnAndVerifyTableHeader(fieldSelector, columnText) {
250
- clickOnColumnIcon();
251
- cy.get(fieldSelector).parent().within(function () {
252
- cy.get(memberSelectors.columnCheckBox).should("not.be.checked").check().should("be.checked");
253
- });
254
- memberUtils.clickOnColumnIcon();
255
- cy.get(memberSelectors.columnsDropdownContainer).should("not.exist");
256
- cy.contains(tableSelectors.tableHeader, columnText).should("be.visible");
257
- };
258
- var addMemberViaRequest = function addMemberViaRequest(_ref9) {
259
- var email = _ref9.email,
260
- _ref9$role = _ref9.role,
261
- role = _ref9$role === void 0 ? memberTexts.agent : _ref9$role,
262
- _ref9$requestCount = _ref9.requestCount,
263
- requestCount = _ref9$requestCount === void 0 ? 0 : _ref9$requestCount,
264
- appName = _ref9.appName;
265
- cy.apiRequest({
266
- method: "POST",
267
- url: requestApis.teamMembers.index,
268
- body: {
269
- user: {
270
- emails: [email],
271
- organization_role: role,
272
- app_roles: [{
273
- app_name: appName,
274
- active_role: role,
275
- is_enabled: true
276
- }]
277
- }
278
- }
279
- });
280
- cy.reloadAndWait(requestCount);
281
- };
282
- var editMemberViaRequest = function editMemberViaRequest(_ref0) {
283
- var email = _ref0.email,
284
- firstName = _ref0.firstName,
285
- lastName = _ref0.lastName,
286
- newRole = _ref0.newRole,
287
- _ref0$requestCount = _ref0.requestCount,
288
- requestCount = _ref0$requestCount === void 0 ? 0 : _ref0$requestCount;
289
- cy.apiRequest({
290
- method: "GET",
291
- url: requestApis.teamMembers.index,
292
- qs: {
293
- search: email
294
- }
295
- }).then(function (_ref1) {
296
- var body = _ref1.body;
297
- var memberDetails = body.members[0];
298
- cy.apiRequest({
299
- method: "PUT",
300
- url: requestApis.teamMembers.show(memberDetails.id),
301
- body: {
302
- team: _objectSpread({
303
- active: true,
304
- first_name: firstName,
305
- last_name: lastName
306
- }, newRole && {
307
- organization_role: newRole
308
- })
309
- }
310
- });
311
- });
312
- cy.reloadAndWait(requestCount);
313
- };
314
- var deactivateMemberViaRequest = function deactivateMemberViaRequest(email) {
315
- var requestCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
316
- cy.apiRequest({
317
- method: "PATCH",
318
- url: requestApis.teamMembers.bulkUpdate,
319
- body: {
320
- users: {
321
- active: false,
322
- emails: [email]
323
- }
324
- }
325
- });
326
- cy.reloadAndWait(requestCount);
327
- };
328
- var clickOnColumnIcon = function clickOnColumnIcon() {
329
- cy.get(commonSelectors.subheader).should("exist").within(function () {
330
- cy.get(memberSelectors.columnsButton).click();
331
- });
332
- };
333
- var memberUtils = {
334
- addMemberViaRequest: addMemberViaRequest,
335
- addMemberViaUI: addMemberViaUI,
336
- activateMember: activateMember,
337
- checkColumnAndVerifyTableHeader: checkColumnAndVerifyTableHeader,
338
- deactivateMember: deactivateMember,
339
- deactivateMemberViaRequest: deactivateMemberViaRequest,
340
- editMemberViaUI: editMemberViaUI,
341
- editMemberViaRequest: editMemberViaRequest,
342
- updateMemberRole: updateMemberRole,
343
- interceptMemberApi: interceptMemberApi,
344
- navigateToMembersPage: navigateToMembersPage,
345
- unCheckColumnAndVerifyTableHeader: unCheckColumnAndVerifyTableHeader,
346
- verifyMemberDetails: verifyMemberDetails,
347
- clickOnColumnIcon: clickOnColumnIcon
348
- };
349
-
350
- export { memberUtils };
351
- //# sourceMappingURL=member.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"member.js","sources":["../../../src/cypress-utils/utils/member.js"],"sourcesContent":["import { isStagingEnv } from \"./common\";\n\nimport { requestApis, urlPaths } from \"../constants/routes\";\nimport { commonSelectors, tableSelectors } from \"../constants/selectors/common\";\nimport {\n memberFormSelectors,\n memberSelectors,\n} from \"../constants/selectors/member\";\nimport { commonTexts } from \"../constants/texts/common\";\nimport { memberFormErrorTexts, memberTexts } from \"../constants/texts/member\";\n\nconst interceptMemberApi = (alias, times = 1) =>\n cy.intercept({ url: requestApis.teamMembers.all, times }).as(alias);\n\nconst navigateToMembersPage = (waitForRequest = true) => {\n waitForRequest && interceptMemberApi(\"fetchMembers\", 2);\n cy.get(memberSelectors.membersTab).click();\n cy.url().should(\"include\", urlPaths.members);\n waitForRequest && cy.waitForMultipleRequest(\"@fetchMembers\", 2);\n cy.get(commonSelectors.heading).should(\n \"have.text\",\n memberTexts.activeMembersHeading\n );\n};\n\nconst addMemberViaUI = ({ email, role = memberTexts.agent, appName }) => {\n const invalidEmail = \"Invalid email\";\n cy.get(memberSelectors.newButton)\n .should(\"have.text\", memberTexts.addMember)\n .click();\n\n cy.get(commonSelectors.paneHeader).should(\n \"have.text\",\n memberTexts.newHeading\n );\n cy.get(memberFormSelectors.emailTextField).should(\"be.focused\");\n cy.get(memberFormSelectors.cancelButton).click();\n cy.get(commonSelectors.paneHeader).should(\"not.exist\");\n\n // form validation\n cy.get(memberSelectors.newButton).should(\"be.visible\").click();\n cy.get(memberSelectors.continueButton).should(\"be.disabled\");\n cy.get(memberSelectors.roleLabel(role)).click();\n cy.get(memberSelectors.continueButton).click();\n cy.get(memberFormSelectors.emailErrorField).should(\n \"contain.text\",\n memberFormErrorTexts.emailRequired\n );\n cy.typeAndEnter(memberFormSelectors.emailTextField, invalidEmail);\n cy.get(memberFormSelectors.emailErrorField).should(\n \"contains.text\",\n memberFormErrorTexts.emailInvalid\n );\n\n cy.get(memberFormSelectors.emailErrorField).should(\n \"contain.text\",\n memberFormErrorTexts.removeInvalidEmail\n );\n cy.get(commonSelectors.paneModalCrossIcon).click();\n cy.get(commonSelectors.paneHeader).should(\"not.exist\");\n\n // form submission\n cy.get(memberSelectors.newButton).click();\n cy.typeAndEnter(memberFormSelectors.emailTextField, email);\n cy.get(memberSelectors.roleLabel(role)).click();\n cy.get(memberSelectors.continueButton).click();\n if (isStagingEnv) {\n cy.get(commonSelectors.checkboxLabel).should(\n \"have.text\",\n memberTexts.addMemberToProducts(email)\n );\n\n cy.get(commonSelectors.paneBody).within(() =>\n cy.get(memberSelectors.checkbox).uncheck()\n );\n cy.get(memberSelectors.continueButton).click();\n }\n\n cy.get(commonSelectors.paneBody).should(\n \"contain.text\",\n memberTexts.inviteMessage({ email, role, appName })\n );\n interceptMemberApi(\"createAndFetchMember\", 2);\n cy.get(memberSelectors.submitButton).click();\n cy.wait(\"@createAndFetchMember\");\n cy.verifyToastIcon();\n cy.wait(\"@createAndFetchMember\");\n verifyMemberDetails({ email, role, skipSearchRequest: false });\n};\n\nconst editMemberViaUI = ({\n email,\n newRole,\n firstName,\n lastName,\n newEmail,\n skipSearchRequest,\n updateCount = 2,\n}) => {\n const name = firstName && lastName ? [firstName, lastName].join(\" \") : null;\n verifyMemberDetails({ email, skipSearchRequest }).within(() => {\n cy.get(memberSelectors.dropDownIcon).click();\n });\n\n cy.get(memberSelectors.editButton)\n .should(\"have.text\", commonTexts.edit)\n .click();\n\n cy.get(commonSelectors.paneHeader).should(\n \"have.text\",\n memberTexts.editMember\n );\n\n cy.get(memberFormSelectors.firstNameTextField).should(\"be.focused\");\n cy.get(memberSelectors.roleLabel(newRole)).click();\n cy.get(memberFormSelectors.emailInput).should(\"have.value\", email);\n newEmail && cy.clearAndType(memberFormSelectors.emailInput, newEmail);\n\n firstName &&\n cy.clearAndType(memberFormSelectors.firstNameTextField, firstName);\n lastName && cy.clearAndType(memberFormSelectors.lastNameTextField, lastName);\n interceptMemberApi(\"updateAndFetchMember\", updateCount);\n cy.get(memberSelectors.submitButton).click();\n cy.wait(\"@updateAndFetchMember\");\n cy.verifyToastIcon();\n cy.waitForMultipleRequest(\"@updateAndFetchMember\", updateCount - 1);\n verifyMemberDetails({\n email: newEmail ?? email,\n role: newRole,\n name,\n skipSearchRequest: true,\n });\n};\n\nconst verifyMemberDetails = ({\n email,\n role,\n name,\n statusTag,\n skipSearchRequest = true,\n}) => {\n !skipSearchRequest && interceptMemberApi(\"searchMember\");\n cy.typeOnSearchField({\n selector: memberSelectors.searchTextField,\n value: email,\n });\n !skipSearchRequest && cy.wait(\"@searchMember\");\n\n return cy.contains(tableSelectors.tableRow, email).within(() => {\n cy.get(tableSelectors.nthColumn(3)).should(\"have.text\", email);\n cy.get(tableSelectors.nthColumn(2)).within(() => {\n name && cy.get(\"p\").should(\"contain.text\", name);\n });\n role && cy.get(tableSelectors.nthColumn(4)).should(\"have.text\", role);\n statusTag &&\n cy.get(memberSelectors.statusTag).should(\"have.text\", statusTag);\n });\n};\n\nconst updateMemberRole = ({ email, role, skipSearchRequest }) => {\n verifyMemberDetails({ email, skipSearchRequest }).within(() =>\n cy.clickDropdownOption(commonTexts.edit)\n );\n\n cy.get(commonSelectors.paneHeader).should(\n \"have.text\",\n memberTexts.updateMemberRole\n );\n cy.get(memberSelectors.roleLabel(role)).click();\n interceptMemberApi(\"updateAndFetchMember\", 2);\n cy.get(memberSelectors.submitButton).click();\n cy.wait(\"@updateAndFetchMember\");\n cy.verifyToastIcon();\n cy.wait(\"@updateAndFetchMember\");\n verifyMemberDetails({ email, role });\n};\n\nconst verifyActivatedMember = ({\n email,\n skipFetchRequest = false,\n skipSearchRequest = true,\n}) => {\n cy.get(commonSelectors.toggleButton).click();\n cy.get(memberSelectors.menuBarHeading).should(\n \"have.text\",\n memberTexts.members\n );\n !skipFetchRequest && interceptMemberApi(\"fetchActivatedMembers\");\n cy.get(memberSelectors.activatedMembersButton).click();\n !skipFetchRequest && cy.wait(\"@fetchActivatedMembers\");\n verifyMemberDetails({ email, skipSearchRequest });\n cy.get(commonSelectors.toggleButton).click();\n};\n\nconst verifyDeactivatedMember = ({\n email,\n skipFetchRequest = false,\n skipSearchRequest = true,\n}) => {\n cy.get(commonSelectors.toggleButton).click();\n cy.get(memberSelectors.menuBarHeading).should(\n \"have.text\",\n memberTexts.members\n );\n !skipFetchRequest && interceptMemberApi(\"fetchDeactivatedMembers\");\n cy.get(memberSelectors.deactivatedAgentsButton).click();\n !skipFetchRequest && cy.wait(\"@fetchDeactivatedMembers\");\n verifyMemberDetails({ email, skipSearchRequest });\n cy.get(commonSelectors.toggleButton).click();\n};\n\nconst activateMember = ({ email, name, skipSearchRequest = true }) => {\n verifyMemberDetails({ email, skipSearchRequest }).within(() => {\n cy.get(memberSelectors.dropDownIcon).click();\n });\n\n cy.get(memberSelectors.activateOrDeactivateMember)\n .should(\"have.text\", commonTexts.activate)\n .click();\n\n cy.get(commonSelectors.alertTitle).should(\n \"have.text\",\n memberTexts.activateMember\n );\n\n cy.get(commonSelectors.alertModalMessage).should(\n \"have.text\",\n memberTexts.activateMemberAlertMessage(name || email)\n );\n interceptMemberApi(\"activateAndFetchMember\", 2);\n cy.get(commonSelectors.alertModalSubmitButton).click();\n cy.wait(\"@activateAndFetchMember\");\n cy.verifyToastIcon();\n cy.wait(\"@activateAndFetchMember\");\n verifyActivatedMember({ email });\n};\n\nconst deactivateMember = ({ email, name, skipSearchRequest = true }) => {\n verifyMemberDetails({ email, skipSearchRequest }).within(() => {\n cy.get(memberSelectors.dropDownIcon).click();\n });\n\n cy.get(memberSelectors.activateOrDeactivateMember)\n .should(\"have.text\", commonTexts.deactivate)\n .click();\n\n cy.get(commonSelectors.alertTitle).should(\n \"have.text\",\n memberTexts.deactivateMember\n );\n\n cy.get(commonSelectors.alertModalMessage).should(\n \"have.text\",\n memberTexts.deactivateMemberAlertMessage(name || email)\n );\n interceptMemberApi(\"deactivateAndFetchMember\", 2);\n cy.get(commonSelectors.alertModalSubmitButton).click();\n cy.wait(\"@deactivateAndFetchMember\");\n cy.verifyToastIcon();\n cy.wait(\"@deactivateAndFetchMember\");\n verifyDeactivatedMember({ email });\n};\n\nconst unCheckColumnAndVerifyTableHeader = (fieldSelector, columnText) => {\n clickOnColumnIcon();\n cy.get(fieldSelector)\n .parent()\n .within(() => {\n cy.get(memberSelectors.columnCheckBox)\n .should(\"be.checked\")\n .uncheck()\n .should(\"not.be.checked\");\n });\n memberUtils.clickOnColumnIcon();\n cy.get(memberSelectors.columnsDropdownContainer).should(\"not.exist\");\n cy.contains(tableSelectors.tableHeader, columnText).should(\"not.exist\");\n};\n\nconst checkColumnAndVerifyTableHeader = (fieldSelector, columnText) => {\n clickOnColumnIcon();\n cy.get(fieldSelector)\n .parent()\n .within(() => {\n cy.get(memberSelectors.columnCheckBox)\n .should(\"not.be.checked\")\n .check()\n .should(\"be.checked\");\n });\n memberUtils.clickOnColumnIcon();\n cy.get(memberSelectors.columnsDropdownContainer).should(\"not.exist\");\n cy.contains(tableSelectors.tableHeader, columnText).should(\"be.visible\");\n};\n\nconst addMemberViaRequest = ({\n email,\n role = memberTexts.agent,\n requestCount = 0,\n appName,\n}) => {\n cy.apiRequest({\n method: \"POST\",\n url: requestApis.teamMembers.index,\n body: {\n user: {\n emails: [email],\n organization_role: role,\n app_roles: [{ app_name: appName, active_role: role, is_enabled: true }],\n },\n },\n });\n cy.reloadAndWait(requestCount);\n};\n\nconst editMemberViaRequest = ({\n email,\n firstName,\n lastName,\n newRole,\n requestCount = 0,\n}) => {\n cy.apiRequest({\n method: \"GET\",\n url: requestApis.teamMembers.index,\n qs: { search: email },\n }).then(({ body }) => {\n const memberDetails = body.members[0];\n cy.apiRequest({\n method: \"PUT\",\n url: requestApis.teamMembers.show(memberDetails.id),\n body: {\n team: {\n active: true,\n first_name: firstName,\n last_name: lastName,\n ...(newRole && { organization_role: newRole }),\n },\n },\n });\n });\n cy.reloadAndWait(requestCount);\n};\n\nconst deactivateMemberViaRequest = (email, requestCount = 0) => {\n cy.apiRequest({\n method: \"PATCH\",\n url: requestApis.teamMembers.bulkUpdate,\n body: { users: { active: false, emails: [email] } },\n });\n cy.reloadAndWait(requestCount);\n};\n\nconst clickOnColumnIcon = () => {\n cy.get(commonSelectors.subheader)\n .should(\"exist\")\n .within(() => {\n cy.get(memberSelectors.columnsButton).click();\n });\n};\n\nexport const memberUtils = {\n addMemberViaRequest,\n addMemberViaUI,\n activateMember,\n checkColumnAndVerifyTableHeader,\n deactivateMember,\n deactivateMemberViaRequest,\n editMemberViaUI,\n editMemberViaRequest,\n updateMemberRole,\n interceptMemberApi,\n navigateToMembersPage,\n unCheckColumnAndVerifyTableHeader,\n verifyMemberDetails,\n clickOnColumnIcon,\n};\n"],"names":["interceptMemberApi","alias","times","arguments","length","undefined","cy","intercept","url","requestApis","teamMembers","all","as","navigateToMembersPage","waitForRequest","get","memberSelectors","membersTab","click","should","urlPaths","members","waitForMultipleRequest","commonSelectors","heading","memberTexts","activeMembersHeading","addMemberViaUI","_ref","email","_ref$role","role","agent","appName","invalidEmail","newButton","addMember","paneHeader","newHeading","memberFormSelectors","emailTextField","cancelButton","continueButton","roleLabel","emailErrorField","memberFormErrorTexts","emailRequired","typeAndEnter","emailInvalid","removeInvalidEmail","paneModalCrossIcon","isStagingEnv","checkboxLabel","addMemberToProducts","paneBody","within","checkbox","uncheck","inviteMessage","submitButton","wait","verifyToastIcon","verifyMemberDetails","skipSearchRequest","editMemberViaUI","_ref2","newRole","firstName","lastName","newEmail","_ref2$updateCount","updateCount","name","join","dropDownIcon","editButton","commonTexts","edit","editMember","firstNameTextField","emailInput","clearAndType","lastNameTextField","_ref3","statusTag","_ref3$skipSearchReque","typeOnSearchField","selector","searchTextField","value","contains","tableSelectors","tableRow","nthColumn","updateMemberRole","_ref4","clickDropdownOption","verifyActivatedMember","_ref5","_ref5$skipFetchReques","skipFetchRequest","_ref5$skipSearchReque","toggleButton","menuBarHeading","activatedMembersButton","verifyDeactivatedMember","_ref6","_ref6$skipFetchReques","_ref6$skipSearchReque","deactivatedAgentsButton","activateMember","_ref7","_ref7$skipSearchReque","activateOrDeactivateMember","activate","alertTitle","alertModalMessage","activateMemberAlertMessage","alertModalSubmitButton","deactivateMember","_ref8","_ref8$skipSearchReque","deactivate","deactivateMemberAlertMessage","unCheckColumnAndVerifyTableHeader","fieldSelector","columnText","clickOnColumnIcon","parent","columnCheckBox","memberUtils","columnsDropdownContainer","tableHeader","checkColumnAndVerifyTableHeader","check","addMemberViaRequest","_ref9","_ref9$role","_ref9$requestCount","requestCount","apiRequest","method","index","body","user","emails","organization_role","app_roles","app_name","active_role","is_enabled","reloadAndWait","editMemberViaRequest","_ref0","_ref0$requestCount","qs","search","then","_ref1","memberDetails","show","id","team","_objectSpread","active","first_name","last_name","deactivateMemberViaRequest","bulkUpdate","users","subheader","columnsButton"],"mappings":"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"}