@controleonline/ui-customers 1.0.81 → 1.0.83

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 (64) hide show
  1. package/.github/workflows/integration-source-gate.yml +68 -0
  2. package/.github/workflows/publish-npm.yml +91 -0
  3. package/AGENTS.md +12 -6
  4. package/docs/technical/Client-Details-Criar-Usuario.md +113 -0
  5. package/package.json +5 -4
  6. package/src/react/components/tabs/AddressesTab.js +240 -335
  7. package/src/react/components/tabs/DocumentAttachments.js +270 -0
  8. package/src/react/components/tabs/DocumentsTab.js +355 -463
  9. package/src/react/components/tabs/DocumentsTab.styles.js +123 -0
  10. package/src/react/components/tabs/EmployeeCreateFormFields.js +203 -0
  11. package/src/react/components/tabs/EmployeesTab.js +17 -171
  12. package/src/react/components/tabs/EmployeesTab.styles.js +220 -172
  13. package/src/react/components/tabs/GeneralTab.js +84 -46
  14. package/src/react/components/tabs/GeneralTab.styles.js +81 -77
  15. package/src/react/components/tabs/MediaTab.js +50 -5
  16. package/src/react/components/tabs/PeopleCategoriesPanel.js +161 -78
  17. package/src/react/components/tabs/SalesmanTab.js +1 -1
  18. package/src/react/components/tabs/UserFormModal.js +26 -2
  19. package/src/react/components/tabs/UsersTab.js +30 -19
  20. package/src/react/components/tabs/UsersTab.styles.js +257 -257
  21. package/src/react/components/tabs/UsersTabApiKeyModal.js +115 -0
  22. package/src/react/components/tabs/UsersTabUserModal.js +222 -0
  23. package/src/react/components/tabs/addressesTabHelpers.js +190 -0
  24. package/src/react/components/tabs/documentsTabHelpers.js +142 -0
  25. package/src/react/components/tabs/employeeContacts.js +3 -23
  26. package/src/react/components/tabs/employeeUnlink.js +7 -4
  27. package/src/react/components/tabs/employeesTabHelpers.js +33 -9
  28. package/src/react/components/tabs/generalTabHelpers.js +30 -8
  29. package/src/react/components/tabs/useGeneralTabPeopleLink.js +68 -0
  30. package/src/react/components/tabs/usersTabHelpers.js +24 -23
  31. package/src/react/pages/details.page.styles.js +114 -100
  32. package/src/react/pages/employees.js +4 -0
  33. package/src/react/utils/humanCompanyLinkTypes.js +28 -0
  34. package/src/tests/browser/manager/client-details-add-user-modal.spec.js +281 -0
  35. package/src/tests/browser/manager/client-details-address-create-coords.spec.js +414 -0
  36. package/src/tests/browser/manager/client-details-address-edit.spec.js +331 -0
  37. package/src/tests/browser/manager/client-details-contact-edit.spec.js +198 -0
  38. package/src/tests/browser/manager/client-details-create-contact.spec.js +306 -0
  39. package/src/tests/browser/manager/client-details-documents.spec.js +346 -0
  40. package/src/tests/browser/manager/client-details-identity-case.spec.js +227 -0
  41. package/src/tests/browser/manager/client-details-people-type.manifest.md +18 -0
  42. package/src/tests/browser/manager/client-details-people-type.spec.js +345 -0
  43. package/src/tests/browser/manager/client-details-supplier-product-create.spec.js +334 -0
  44. package/src/tests/browser/manager/client-details-users-tab-load.spec.js +194 -0
  45. package/src/tests/browser/manager/employees-salesman-after-sales.spec.js +441 -0
  46. package/src/tests/react/components/SalesmanTab.company.test.js +40 -0
  47. package/src/tests/react/components/tabs/UsersTab.styles.test.js +39 -0
  48. package/src/tests/react/components/tabs/addressesTabHelpers.test.js +78 -0
  49. package/src/tests/react/components/tabs/documentsTabContract.test.mjs +37 -0
  50. package/src/tests/react/components/tabs/documentsTabHelpers.test.mjs +93 -0
  51. package/src/tests/react/components/tabs/employeeContacts.test.js +46 -4
  52. package/src/tests/react/components/tabs/employeeLinkTypes.contract.test.mjs +52 -0
  53. package/src/tests/react/components/tabs/employeeUnlink.test.js +11 -11
  54. package/src/tests/react/components/tabs/employeesTabHelpers.media.test.js +2 -23
  55. package/src/tests/react/components/tabs/employeesTabHelpers.test.js +59 -0
  56. package/src/tests/react/components/tabs/generalTabHelpers.test.js +35 -0
  57. package/src/tests/react/components/tabs/peopleMediaTabs.test.js +217 -217
  58. package/src/tests/react/components/tabs/peopleType.contract.test.mjs +47 -0
  59. package/src/tests/react/components/tabs/resolveSeededLinkType.test.mjs +20 -0
  60. package/src/tests/react/components/tabs/salesmanTabMedia.no-redeclare.test.mjs +33 -0
  61. package/src/tests/react/components/tabs/usersTabHelpers.test.js +20 -0
  62. package/src/tests/react/components/tabs/usersTabHelpers.test.mjs +63 -0
  63. package/src/tests/react/pages/employees.test.js +2 -0
  64. package/src/tests/react/utils/humanCompanyLinkTypes.test.js +50 -0
@@ -0,0 +1,50 @@
1
+ const {describe, expect, it} = global
2
+
3
+ const {
4
+ HUMAN_COMPANY_LINK_TYPES,
5
+ HUMAN_COMPANY_LINK_TYPE_OPTIONS,
6
+ isHumanCompanyLinkType,
7
+ } = require('../../../react/utils/humanCompanyLinkTypes')
8
+
9
+ const {LINK_TYPE_OPTIONS} = require('../../../react/components/tabs/employeesTabHelpers')
10
+ const {
11
+ LINK_TYPE_OPTIONS: GENERAL_LINK_TYPE_OPTIONS,
12
+ } = require('../../../react/components/tabs/generalTabHelpers')
13
+
14
+ describe('humanCompanyLinkTypes catalog', () => {
15
+ const required = [
16
+ 'employee',
17
+ 'owner',
18
+ 'director',
19
+ 'manager',
20
+ 'salesman',
21
+ 'after-sales',
22
+ 'courier',
23
+ ]
24
+
25
+ it('contains the canonical human company link types without duplicates', () => {
26
+ expect(HUMAN_COMPANY_LINK_TYPES).toEqual(required)
27
+ expect(new Set(HUMAN_COMPANY_LINK_TYPES).size).toBe(
28
+ HUMAN_COMPANY_LINK_TYPES.length,
29
+ )
30
+ })
31
+
32
+ it('exposes reusable UI options with matching values and translation keys', () => {
33
+ expect(HUMAN_COMPANY_LINK_TYPE_OPTIONS.map(option => option.value)).toEqual(
34
+ required,
35
+ )
36
+ expect(
37
+ HUMAN_COMPANY_LINK_TYPE_OPTIONS.every(
38
+ option => option.translationKey === option.value,
39
+ ),
40
+ ).toBe(true)
41
+ expect(isHumanCompanyLinkType('salesman')).toBe(true)
42
+ expect(isHumanCompanyLinkType('AFTER-SALES')).toBe(true)
43
+ expect(isHumanCompanyLinkType('client')).toBe(false)
44
+ })
45
+
46
+ it('is the single source used by Contatos/Colaboradores helpers', () => {
47
+ expect(LINK_TYPE_OPTIONS).toBe(HUMAN_COMPANY_LINK_TYPE_OPTIONS)
48
+ expect(GENERAL_LINK_TYPE_OPTIONS).toBe(HUMAN_COMPANY_LINK_TYPE_OPTIONS)
49
+ })
50
+ })