@pod-os/elements 0.13.1-9efc307.0 → 0.13.1-cd22eb8.0

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 (93) hide show
  1. package/dist/cjs/elements.cjs.js +1 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/collection/collection-manifest.json +2 -3
  4. package/dist/elements/elements.esm.js +1 -1
  5. package/dist/elements/elements.esm.js.map +1 -1
  6. package/dist/esm/elements.js +1 -1
  7. package/dist/esm/loader.js +1 -1
  8. package/dist/types/components.d.ts +0 -13
  9. package/package.json +1 -1
  10. package/dist/cjs/test-component.cjs.entry.js +0 -15
  11. package/dist/cjs/test-component.cjs.entry.js.map +0 -1
  12. package/dist/collection/apps/pos-app-document-viewer/pos-app-document-viewer.spec.js +0 -29
  13. package/dist/collection/apps/pos-app-document-viewer/pos-app-document-viewer.spec.js.map +0 -1
  14. package/dist/collection/apps/pos-app-image-viewer/pos-app-image-viewer.spec.js +0 -29
  15. package/dist/collection/apps/pos-app-image-viewer/pos-app-image-viewer.spec.js.map +0 -1
  16. package/dist/collection/components/broken-file/BrokenFile.spec.js +0 -45
  17. package/dist/collection/components/broken-file/BrokenFile.spec.js.map +0 -1
  18. package/dist/collection/components/pos-add-literal-value/test/pos-add-literal-value.spec.js +0 -185
  19. package/dist/collection/components/pos-add-literal-value/test/pos-add-literal-value.spec.js.map +0 -1
  20. package/dist/collection/components/pos-add-new-thing/test/pos-add-new-thing.spec.js +0 -59
  21. package/dist/collection/components/pos-add-new-thing/test/pos-add-new-thing.spec.js.map +0 -1
  22. package/dist/collection/components/pos-container-contents/pos-container-contents.spec.js +0 -132
  23. package/dist/collection/components/pos-container-contents/pos-container-contents.spec.js.map +0 -1
  24. package/dist/collection/components/pos-container-contents/pos-container-item.spec.js +0 -64
  25. package/dist/collection/components/pos-container-contents/pos-container-item.spec.js.map +0 -1
  26. package/dist/collection/components/pos-container-contents/selectIconForTypes.spec.js +0 -30
  27. package/dist/collection/components/pos-container-contents/selectIconForTypes.spec.js.map +0 -1
  28. package/dist/collection/components/pos-description/pos-description.spec.js +0 -31
  29. package/dist/collection/components/pos-description/pos-description.spec.js.map +0 -1
  30. package/dist/collection/components/pos-document/pos-document.spec.js +0 -219
  31. package/dist/collection/components/pos-document/pos-document.spec.js.map +0 -1
  32. package/dist/collection/components/pos-error-toast/test/pos-error-toast.spec.js +0 -18
  33. package/dist/collection/components/pos-error-toast/test/pos-error-toast.spec.js.map +0 -1
  34. package/dist/collection/components/pos-image/pos-image.integration.spec.js +0 -124
  35. package/dist/collection/components/pos-image/pos-image.integration.spec.js.map +0 -1
  36. package/dist/collection/components/pos-image/pos-image.spec.js +0 -219
  37. package/dist/collection/components/pos-image/pos-image.spec.js.map +0 -1
  38. package/dist/collection/components/pos-label/pos-label.integration.spec.js +0 -101
  39. package/dist/collection/components/pos-label/pos-label.integration.spec.js.map +0 -1
  40. package/dist/collection/components/pos-label/pos-label.spec.js +0 -31
  41. package/dist/collection/components/pos-label/pos-label.spec.js.map +0 -1
  42. package/dist/collection/components/pos-literals/pos-literals.spec.js +0 -118
  43. package/dist/collection/components/pos-literals/pos-literals.spec.js.map +0 -1
  44. package/dist/collection/components/pos-login/pos-login.integration.spec.js +0 -35
  45. package/dist/collection/components/pos-login/pos-login.integration.spec.js.map +0 -1
  46. package/dist/collection/components/pos-login/pos-login.spec.js +0 -46
  47. package/dist/collection/components/pos-login/pos-login.spec.js.map +0 -1
  48. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.spec.js +0 -41
  49. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.spec.js.map +0 -1
  50. package/dist/collection/components/pos-new-thing-form/test/pos-new-thing-form.spec.js +0 -239
  51. package/dist/collection/components/pos-new-thing-form/test/pos-new-thing-form.spec.js.map +0 -1
  52. package/dist/collection/components/pos-picture/pos-picture.integration.spec.js +0 -79
  53. package/dist/collection/components/pos-picture/pos-picture.integration.spec.js.map +0 -1
  54. package/dist/collection/components/pos-picture/pos-picture.spec.js +0 -49
  55. package/dist/collection/components/pos-picture/pos-picture.spec.js.map +0 -1
  56. package/dist/collection/components/pos-relations/pos-relations.spec.js +0 -64
  57. package/dist/collection/components/pos-relations/pos-relations.spec.js.map +0 -1
  58. package/dist/collection/components/pos-resource/pos-resource.integration.spec.js +0 -355
  59. package/dist/collection/components/pos-resource/pos-resource.integration.spec.js.map +0 -1
  60. package/dist/collection/components/pos-resource/pos-resource.spec.js +0 -237
  61. package/dist/collection/components/pos-resource/pos-resource.spec.js.map +0 -1
  62. package/dist/collection/components/pos-reverse-relations/pos-reverse-relations.spec.js +0 -64
  63. package/dist/collection/components/pos-reverse-relations/pos-reverse-relations.spec.js.map +0 -1
  64. package/dist/collection/components/pos-rich-link/pos-rich-link.spec.js +0 -37
  65. package/dist/collection/components/pos-rich-link/pos-rich-link.spec.js.map +0 -1
  66. package/dist/collection/components/pos-select-term/test/pos-select-term.spec.js +0 -75
  67. package/dist/collection/components/pos-select-term/test/pos-select-term.spec.js.map +0 -1
  68. package/dist/collection/components/pos-subjects/pos-subjects.spec.js +0 -58
  69. package/dist/collection/components/pos-subjects/pos-subjects.spec.js.map +0 -1
  70. package/dist/collection/components/pos-type-badges/pos-type-badges.spec.js +0 -119
  71. package/dist/collection/components/pos-type-badges/pos-type-badges.spec.js.map +0 -1
  72. package/dist/collection/components/pos-type-router/pos-type-router.spec.js +0 -105
  73. package/dist/collection/components/pos-type-router/pos-type-router.spec.js.map +0 -1
  74. package/dist/collection/components/pos-type-router/selectAppForTypes.spec.js +0 -85
  75. package/dist/collection/components/pos-type-router/selectAppForTypes.spec.js.map +0 -1
  76. package/dist/collection/components/pos-value/pos-value.spec.js +0 -31
  77. package/dist/collection/components/pos-value/pos-value.spec.js.map +0 -1
  78. package/dist/collection/test/TestComponent.js +0 -4
  79. package/dist/collection/test/TestComponent.js.map +0 -1
  80. package/dist/collection/test/mockPodOS.js +0 -38
  81. package/dist/collection/test/mockPodOS.js.map +0 -1
  82. package/dist/collection/test/renderFunctionalComponent.js +0 -9
  83. package/dist/collection/test/renderFunctionalComponent.js.map +0 -1
  84. package/dist/components/test-component.d.ts +0 -11
  85. package/dist/components/test-component.js +0 -9
  86. package/dist/components/test-component.js.map +0 -1
  87. package/dist/elements/p-c5bcab34.entry.js +0 -2
  88. package/dist/elements/p-c5bcab34.entry.js.map +0 -1
  89. package/dist/esm/test-component.entry.js +0 -11
  90. package/dist/esm/test-component.entry.js.map +0 -1
  91. package/dist/types/test/TestComponent.d.ts +0 -2
  92. package/dist/types/test/mockPodOS.d.ts +0 -13
  93. package/dist/types/test/renderFunctionalComponent.d.ts +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"pos-image.spec.js","sourceRoot":"","sources":["../../../../src/components/pos-image/pos-image.spec.tsx"],"names":[],"mappings":"AAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACjC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAE1C,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;EACzB,IAAI,OAAO,CAAC;EACZ,UAAU,CAAC,GAAG,EAAE;IACd,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;MACxB,IAAI,EAAE,WAAW;KAClB,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EAEH,UAAU,CAAC,GAAG,EAAE;IACd,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;EAC3E,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACnD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtB,IAAI,EAAE,4DAA4D;KACnE,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;GAM/B,CAAC,CAAC;EACH,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;IACxD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtB,IAAI,EAAE,4DAA4D;KACnE,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC;OACf,UAAU,CAAC,4BAA4B,CAAC;OACxC,eAAe,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;GAM/B,CAAC,CAAC;EACH,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;IACzC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtB,IAAI,EAAE,4DAA4D;KACnE,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpF,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;GAM/B,CAAC,CAAC;EACH,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtB,IAAI,EAAE,4DAA4D;KACnE,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpF,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;EACzF,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtB,IAAI,EAAE,gDAAgD;KACvD,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1G,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;GAQ/B,CAAC,CAAC;EACH,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACnD,MAAM,WAAW,GAAG;MAClB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;MAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,8CAA8C;KAClC,CAAC;IAC/B,IAAI,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,WAAK,KAAK,EAAC,OAAO,mDAAmD,CAAC,CAAC;IACxG,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtB,IAAI,EAAE,gDAAgD;KACvD,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC3F,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;GAQ/B,CAAC,CAAC;EACH,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;IAC3D,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtB,IAAI,EAAE,gDAAgD;KACvD,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpF,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC;OACf,UAAU,CAAC,4BAA4B,CAAC;OACxC,eAAe,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;IAC5D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;GAM/B,CAAC,CAAC;EACH,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IAC9D,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,cAAc,CAAC;IACnB,aAAa;IACb,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;MACpC,IAAI,IAAI,KAAK,YAAY,EAAE;QACzB,cAAc,GAAG,QAAQ,CAAC;OAC3B;IACH,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtB,IAAI,EAAE,gDAAgD;KACvD,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACxF,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC;OACf,UAAU,CAAC,4BAA4B,CAAC;OACxC,mBAAmB,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IACrC,cAAc,EAAE,CAAC;IACjB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;GAM/B,CAAC,CAAC;EACH,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IAC9D,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,gBAAgB,GAAG;MACvB,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc;KACb,CAAC;IACpB,IAAI,cAAc,CAAC;IACnB,aAAa;IACb,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;MACpC,IAAI,IAAI,KAAK,YAAY,EAAE;QACzB,cAAc,GAAG,QAAQ,CAAC;OAC3B;IACH,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtB,IAAI,EAAE,gDAAgD;KACvD,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IACpG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACxF,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IACrC,cAAc,EAAE,CAAC;IACjB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;GAM/B,CAAC,CAAC;EACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,OAAO;EAC7B,OAAO;IACL,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO;GACN,CAAC;AAClB,CAAC","sourcesContent":["jest.mock('../../store/session');\njest.mock('../broken-file/BrokenFile');\n\nimport { BinaryFile, BrokenFile as BrokenFileData } from '@pod-os/core';\nimport { newSpecPage } from '@stencil/core/testing';\nimport { Blob } from 'buffer';\nimport { mockPodOS } from '../../test/mockPodOS';\nimport { BrokenFile } from '../broken-file/BrokenFile';\nimport { PosImage } from './pos-image';\nimport { when } from 'jest-when';\nimport { h } from '@stencil/core';\n\nimport session from '../../store/session';\n\ndescribe('pos-image', () => {\n let pngBlob;\n beforeEach(() => {\n pngBlob = new Blob(['1'], {\n type: 'image/png',\n });\n });\n\n beforeEach(() => {\n jest.spyOn(URL, 'createObjectURL').mockReturnValue('blob:fake-png-data');\n });\n\n it('renders loading indicator initially', async () => {\n const page = await newSpecPage({\n components: [PosImage],\n html: `<pos-image src=\"https://pod.test/image.png\" alt=\"image\" />`,\n });\n expect(page.root).toEqualHtml(`\n <pos-image src=\"https://pod.test/image.png\" alt=\"image\">\n <mock:shadow-root>\n <ion-skeleton-text animated=\"\"></ion-skeleton-text>\n </mock:shadow-root>\n </pos-image>\n `);\n });\n\n it('renders loading indicator while fetching', async () => {\n const page = await newSpecPage({\n components: [PosImage],\n html: `<pos-image src=\"https://pod.test/image.png\" alt=\"image\" />`,\n });\n const os = mockPodOS();\n when(os.fetchFile)\n .calledWith('https://pod.test/image.png')\n .mockReturnValue(new Promise(() => null));\n await page.rootInstance.setOs(os);\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <pos-image src=\"https://pod.test/image.png\" alt=\"image\">\n <mock:shadow-root>\n <ion-skeleton-text animated=\"\"></ion-skeleton-text>\n </mock:shadow-root>\n </pos-image>\n `);\n });\n\n it('renders img after loading', async () => {\n const file = mockBinaryFile(pngBlob);\n const page = await newSpecPage({\n components: [PosImage],\n html: `<pos-image src=\"https://pod.test/image.png\" alt=\"image\" />`,\n });\n const os = mockPodOS();\n when(os.fetchFile).calledWith('https://pod.test/image.png').mockResolvedValue(file);\n await page.rootInstance.setOs(os);\n await page.waitForChanges();\n expect(URL.createObjectURL).toHaveBeenCalledWith(pngBlob);\n expect(page.root).toEqualHtml(`\n <pos-image src=\"https://pod.test/image.png\" alt=\"image\">\n <mock:shadow-root>\n <img src=\"blob:fake-png-data\" alt=\"image\">\n </mock:shadow-root>\n </pos-image>\n `);\n });\n\n it('emits event after loading image', async () => {\n const onResourceLoaded = jest.fn();\n const file = mockBinaryFile(pngBlob);\n const page = await newSpecPage({\n components: [PosImage],\n html: `<pos-image src=\"https://pod.test/image.png\" alt=\"image\" />`,\n });\n page.root.addEventListener('pod-os:resource-loaded', onResourceLoaded);\n const os = mockPodOS();\n when(os.fetchFile).calledWith('https://pod.test/image.png').mockResolvedValue(file);\n await page.rootInstance.setOs(os);\n await page.waitForChanges();\n expect(onResourceLoaded).toHaveBeenCalled();\n expect(onResourceLoaded.mock.calls[0][0].detail).toEqual('https://pod.test/image.png');\n });\n\n it('renders error when fetch failed', async () => {\n const page = await newSpecPage({\n components: [PosImage],\n html: `<pos-image src=\"https://pod.test/image.png\" />`,\n });\n const os = mockPodOS();\n when(os.fetchFile).calledWith('https://pod.test/image.png').mockRejectedValue(new Error('network error'));\n await page.rootInstance.setOs(os);\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <pos-image src=\"https://pod.test/image.png\">\n <mock:shadow-root>\n <div class=\"error\">\n network error\n </div>\n </mock:shadow-root>\n </pos-image>\n `);\n });\n\n it('renders error for inaccessible file', async () => {\n const brokenImage = {\n blob: () => null,\n toString: () => '403 - Forbidden - https://pod.test/image.png',\n } as unknown as BrokenFileData;\n when(BrokenFile).mockReturnValue(<div class=\"error\">403 - Forbidden - https://pod.test/image.png</div>);\n const page = await newSpecPage({\n components: [PosImage],\n html: `<pos-image src=\"https://pod.test/image.png\" />`,\n });\n const os = mockPodOS();\n when(os.fetchFile).calledWith('https://pod.test/image.png').mockResolvedValue(brokenImage);\n await page.rootInstance.setOs(os);\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <pos-image src=\"https://pod.test/image.png\">\n <mock:shadow-root>\n <div class=\"error\">\n 403 - Forbidden - https://pod.test/image.png\n </div>\n </mock:shadow-root>\n </pos-image>\n `);\n });\n\n it('updates and loads resource when src changes', async () => {\n const file = mockBinaryFile(pngBlob);\n const page = await newSpecPage({\n components: [PosImage],\n html: `<pos-image src=\"https://pod.test/image.png\" />`,\n });\n const os = mockPodOS();\n when(os.fetchFile).calledWith('https://pod.test/image.png').mockResolvedValue(file);\n when(os.fetchFile)\n .calledWith('https://pod.test/other.png')\n .mockReturnValue(new Promise(() => null));\n await page.rootInstance.setOs(os);\n page.root.setAttribute('src', 'https://pod.test/other.png');\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <pos-image src=\"https://pod.test/other.png\">\n <mock:shadow-root>\n <ion-skeleton-text animated=\"\"></ion-skeleton-text>\n </mock:shadow-root>\n </pos-image>\n `);\n });\n\n it('re-fetches resource when session state changes', async () => {\n const file = mockBinaryFile(pngBlob);\n let sessionChanged;\n // @ts-ignore\n session.onChange = (prop, callback) => {\n if (prop === 'isLoggedIn') {\n sessionChanged = callback;\n }\n };\n const page = await newSpecPage({\n components: [PosImage],\n html: `<pos-image src=\"https://pod.test/image.png\" />`,\n });\n const os = mockPodOS();\n when(os.fetchFile).calledWith('https://pod.test/image.png').mockResolvedValueOnce(file);\n when(os.fetchFile)\n .calledWith('https://pod.test/image.png')\n .mockReturnValueOnce(new Promise(() => null));\n await page.rootInstance.setOs(os);\n expect(sessionChanged).toBeDefined();\n sessionChanged();\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <pos-image src=\"https://pod.test/image.png\">\n <mock:shadow-root>\n <ion-skeleton-text animated=\"\"></ion-skeleton-text>\n </mock:shadow-root>\n </pos-image>\n `);\n });\n\n it('removes error message after successful loading', async () => {\n const file = mockBinaryFile(pngBlob);\n const unauthorizedFile = {\n toString: () => 'Unauthorized',\n } as BrokenFileData;\n let sessionChanged;\n // @ts-ignore\n session.onChange = (prop, callback) => {\n if (prop === 'isLoggedIn') {\n sessionChanged = callback;\n }\n };\n const page = await newSpecPage({\n components: [PosImage],\n html: `<pos-image src=\"https://pod.test/image.png\" />`,\n });\n const os = mockPodOS();\n when(os.fetchFile).calledWith('https://pod.test/image.png').mockResolvedValueOnce(unauthorizedFile);\n when(os.fetchFile).calledWith('https://pod.test/image.png').mockResolvedValueOnce(file);\n await page.rootInstance.setOs(os);\n expect(sessionChanged).toBeDefined();\n sessionChanged();\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <pos-image src=\"https://pod.test/image.png\">\n <mock:shadow-root>\n <img src=\"blob:fake-png-data\">\n </mock:shadow-root>\n </pos-image>\n `);\n });\n});\n\nfunction mockBinaryFile(pngBlob) {\n return {\n blob: () => pngBlob,\n } as BinaryFile;\n}\n"]}
@@ -1,101 +0,0 @@
1
- import { newSpecPage } from "@stencil/core/testing";
2
- import { mockPodOS } from "../../test/mockPodOS";
3
- import { PosApp } from "../pos-app/pos-app";
4
- import { PosResource } from "../pos-resource/pos-resource";
5
- import { PosLabel } from "./pos-label";
6
- import { when } from "jest-when";
7
- describe('pos-label', () => {
8
- it('renders label for successfully loaded resource', async () => {
9
- const os = mockPodOS();
10
- when(os.fetch).calledWith('https://resource.test').mockReturnValue(Promise.resolve());
11
- when(os.store.get)
12
- .calledWith('https://resource.test')
13
- .mockReturnValue({
14
- label: () => 'Test Resource',
15
- });
16
- const page = await newSpecPage({
17
- components: [PosApp, PosResource, PosLabel],
18
- html: `<pos-app>
19
- <pos-resource uri="https://resource.test">
20
- <pos-label />
21
- </pos-resource>
22
- </pos-app>`,
23
- });
24
- const label = page.root.querySelector('pos-label');
25
- expect(label).toEqualHtml(`
26
- <pos-label>
27
- <mock:shadow-root>
28
- Test Resource
29
- </mock:shadow-root>
30
- </pos-label>
31
- `);
32
- });
33
- it('renders label after successfully loading resource', async () => {
34
- const os = mockPodOS();
35
- const loadingPromise = new Promise(resolve => setTimeout(resolve, 1));
36
- when(os.fetch).calledWith('https://resource.test').mockReturnValue(loadingPromise);
37
- when(os.store.get)
38
- .calledWith('https://resource.test')
39
- .mockReturnValue({
40
- label: () => 'Test Resource',
41
- });
42
- const page = await newSpecPage({
43
- components: [PosApp, PosResource, PosLabel],
44
- html: `<pos-app>
45
- <pos-resource uri="https://resource.test">
46
- <pos-label />
47
- </pos-resource>
48
- </pos-app>`,
49
- });
50
- await loadingPromise;
51
- await page.waitForChanges();
52
- const label = page.root.querySelector('pos-label');
53
- expect(label).toEqualHtml(`
54
- <pos-label>
55
- <mock:shadow-root>
56
- Test Resource
57
- </mock:shadow-root>
58
- </pos-label>
59
- `);
60
- });
61
- it('renders nothing while loading resource', async () => {
62
- const os = mockPodOS();
63
- const loadingPromise = new Promise(resolve => setTimeout(resolve, 1));
64
- when(os.fetch).calledWith('https://resource.test').mockReturnValue(loadingPromise);
65
- const page = await newSpecPage({
66
- components: [PosApp, PosResource, PosLabel],
67
- html: `<pos-app>
68
- <pos-resource uri="https://resource.test">
69
- <pos-label />
70
- </pos-resource>
71
- </pos-app>`,
72
- });
73
- const label = page.root.querySelector('pos-label');
74
- expect(label).toEqualHtml(`
75
- <pos-label>
76
- <mock:shadow-root></mock:shadow-root>
77
- </pos-label>
78
- `);
79
- await loadingPromise;
80
- });
81
- it('renders nothing when resource loading failed', async () => {
82
- const os = mockPodOS();
83
- const rejectedPromise = Promise.reject(new Error('not found'));
84
- when(os.fetch).calledWith('https://resource.test').mockReturnValue(rejectedPromise);
85
- const page = await newSpecPage({
86
- components: [PosApp, PosResource, PosLabel],
87
- html: `<pos-app>
88
- <pos-resource uri="https://resource.test">
89
- <pos-label />
90
- </pos-resource>
91
- </pos-app>`,
92
- });
93
- const label = page.root.querySelector('pos-label');
94
- expect(label).toEqualHtml(`
95
- <pos-label>
96
- <mock:shadow-root></mock:shadow-root>
97
- </pos-label>
98
- `);
99
- });
100
- });
101
- //# sourceMappingURL=pos-label.integration.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pos-label.integration.spec.js","sourceRoot":"","sources":["../../../../src/components/pos-label/pos-label.integration.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { mockPodOS } from '../../test/mockPodOS';\nimport { PosApp } from '../pos-app/pos-app';\nimport { PosResource } from '../pos-resource/pos-resource';\nimport { PosLabel } from './pos-label';\nimport { when } from 'jest-when';\n\ndescribe('pos-label', () => {\n it('renders label for successfully loaded resource', async () => {\n const os = mockPodOS();\n when(os.fetch).calledWith('https://resource.test').mockReturnValue(Promise.resolve());\n when(os.store.get)\n .calledWith('https://resource.test')\n .mockReturnValue({\n label: () => 'Test Resource',\n });\n const page = await newSpecPage({\n components: [PosApp, PosResource, PosLabel],\n html: `<pos-app>\n <pos-resource uri=\"https://resource.test\">\n <pos-label />\n </pos-resource>\n </pos-app>`,\n });\n const label = page.root.querySelector('pos-label');\n expect(label).toEqualHtml(`\n <pos-label>\n <mock:shadow-root>\n Test Resource\n </mock:shadow-root>\n </pos-label>\n `);\n });\n\n it('renders label after successfully loading resource', async () => {\n const os = mockPodOS();\n const loadingPromise = new Promise(resolve => setTimeout(resolve, 1));\n when(os.fetch).calledWith('https://resource.test').mockReturnValue(loadingPromise);\n when(os.store.get)\n .calledWith('https://resource.test')\n .mockReturnValue({\n label: () => 'Test Resource',\n });\n const page = await newSpecPage({\n components: [PosApp, PosResource, PosLabel],\n html: `<pos-app>\n <pos-resource uri=\"https://resource.test\">\n <pos-label />\n </pos-resource>\n </pos-app>`,\n });\n await loadingPromise;\n await page.waitForChanges();\n const label = page.root.querySelector('pos-label');\n expect(label).toEqualHtml(`\n <pos-label>\n <mock:shadow-root>\n Test Resource\n </mock:shadow-root>\n </pos-label>\n `);\n });\n\n it('renders nothing while loading resource', async () => {\n const os = mockPodOS();\n const loadingPromise = new Promise(resolve => setTimeout(resolve, 1));\n when(os.fetch).calledWith('https://resource.test').mockReturnValue(loadingPromise);\n const page = await newSpecPage({\n components: [PosApp, PosResource, PosLabel],\n html: `<pos-app>\n <pos-resource uri=\"https://resource.test\">\n <pos-label />\n </pos-resource>\n </pos-app>`,\n });\n const label = page.root.querySelector('pos-label');\n expect(label).toEqualHtml(`\n <pos-label>\n <mock:shadow-root></mock:shadow-root>\n </pos-label>\n `);\n await loadingPromise;\n });\n\n it('renders nothing when resource loading failed', async () => {\n const os = mockPodOS();\n const rejectedPromise = Promise.reject(new Error('not found'));\n when(os.fetch).calledWith('https://resource.test').mockReturnValue(rejectedPromise);\n const page = await newSpecPage({\n components: [PosApp, PosResource, PosLabel],\n html: `<pos-app>\n <pos-resource uri=\"https://resource.test\">\n <pos-label />\n </pos-resource>\n </pos-app>`,\n });\n const label = page.root.querySelector('pos-label');\n expect(label).toEqualHtml(`\n <pos-label>\n <mock:shadow-root></mock:shadow-root>\n </pos-label>\n `);\n });\n});\n"]}
@@ -1,31 +0,0 @@
1
- import { newSpecPage } from "@stencil/core/testing";
2
- import { PosLabel } from "./pos-label";
3
- describe('pos-label', () => {
4
- it('is empty initially', async () => {
5
- const page = await newSpecPage({
6
- components: [PosLabel],
7
- html: `<pos-label />`,
8
- });
9
- expect(page.root).toEqualHtml(`
10
- <pos-label>
11
- <mock:shadow-root></mock:shadow-root>
12
- </pos-label>
13
- `);
14
- });
15
- it('renders label from resource', async () => {
16
- const page = await newSpecPage({
17
- components: [PosLabel],
18
- html: `<pos-label />`,
19
- });
20
- await page.rootInstance.receiveResource({
21
- label: () => 'Test Resource',
22
- });
23
- await page.waitForChanges();
24
- expect(page.root).toEqualHtml(`
25
- <pos-label>
26
- <mock:shadow-root>Test Resource</mock:shadow-root>
27
- </pos-label>
28
- `);
29
- });
30
- });
31
- //# sourceMappingURL=pos-label.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pos-label.spec.js","sourceRoot":"","sources":["../../../../src/components/pos-label/pos-label.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;EACzB,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtB,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;GAI/B,CAAC,CAAC;EACH,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;IAC3C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtB,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;MACtC,KAAK,EAAE,GAAG,EAAE,CAAC,eAAe;KAC7B,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;GAI/B,CAAC,CAAC;EACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { PosLabel } from './pos-label';\n\ndescribe('pos-label', () => {\n it('is empty initially', async () => {\n const page = await newSpecPage({\n components: [PosLabel],\n html: `<pos-label />`,\n });\n expect(page.root).toEqualHtml(`\n <pos-label>\n <mock:shadow-root></mock:shadow-root>\n </pos-label>\n `);\n });\n\n it('renders label from resource', async () => {\n const page = await newSpecPage({\n components: [PosLabel],\n html: `<pos-label />`,\n });\n await page.rootInstance.receiveResource({\n label: () => 'Test Resource',\n });\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <pos-label>\n <mock:shadow-root>Test Resource</mock:shadow-root>\n </pos-label>\n `);\n });\n});\n"]}
@@ -1,118 +0,0 @@
1
- import { newSpecPage } from "@stencil/core/testing";
2
- import { fireEvent, getAllByText, getByText } from "@testing-library/dom";
3
- import { PosLiterals } from "./pos-literals";
4
- describe('pos-literals', () => {
5
- it('are empty initially, but include option to add one', async () => {
6
- const page = await newSpecPage({
7
- components: [PosLiterals],
8
- html: `<pos-literals />`,
9
- });
10
- expect(page.root).toEqualHtml(`
11
- <pos-literals>
12
- <mock:shadow-root>
13
- <pos-add-literal-value />
14
- </mock:shadow-root>
15
- </pos-literals>
16
- `);
17
- });
18
- it('renders single predicate and value', async () => {
19
- const page = await newSpecPage({
20
- components: [PosLiterals],
21
- html: `<pos-literals />`,
22
- });
23
- await page.rootInstance.receiveResource({
24
- literals: () => [
25
- {
26
- predicate: 'http://schema.org/name',
27
- values: ['Alice'],
28
- },
29
- ],
30
- });
31
- await page.waitForChanges();
32
- const el = page.root.shadowRoot;
33
- expect(getByText(el, 'Alice')).toBeDefined();
34
- expect(getByText(el, 'http://schema.org/name')).toBeDefined();
35
- });
36
- it('renders multiple predicates and values', async () => {
37
- const page = await newSpecPage({
38
- components: [PosLiterals],
39
- html: `<pos-literals />`,
40
- });
41
- await page.rootInstance.receiveResource({
42
- literals: () => [
43
- {
44
- predicate: 'http://schema.org/name',
45
- values: ['Alice', 'Bernadette'],
46
- },
47
- {
48
- predicate: 'http://schema.org/description',
49
- values: ['the description'],
50
- },
51
- ],
52
- });
53
- await page.waitForChanges();
54
- const el = page.root.shadowRoot;
55
- expect(getByText(el, 'Alice')).toBeDefined();
56
- expect(getByText(el, 'Bernadette')).toBeDefined();
57
- expect(getByText(el, 'http://schema.org/name')).toBeDefined();
58
- expect(getByText(el, 'the description')).toBeDefined();
59
- expect(getByText(el, 'http://schema.org/description')).toBeDefined();
60
- });
61
- it('adds newly added predicate to the list', async () => {
62
- // given
63
- const page = await newSpecPage({
64
- components: [PosLiterals],
65
- html: `<pos-literals />`,
66
- supportsShadowDom: false,
67
- });
68
- await page.rootInstance.receiveResource({
69
- literals: () => [],
70
- });
71
- await page.waitForChanges();
72
- // when
73
- const input = page.root.querySelector('pos-add-literal-value');
74
- const literal = {
75
- predicate: 'https://schema.org/name',
76
- values: ['Alice'],
77
- };
78
- fireEvent(input, new CustomEvent('pod-os:added-literal-value', {
79
- detail: literal,
80
- }));
81
- await page.waitForChanges();
82
- // then
83
- expect(getByText(page.root, 'Alice')).toBeDefined();
84
- expect(getByText(page.root, 'https://schema.org/name')).toBeDefined();
85
- });
86
- it('adds newly added predicate value to the existing list without duplicating the predicate', async () => {
87
- // given
88
- const page = await newSpecPage({
89
- components: [PosLiterals],
90
- html: `<pos-literals />`,
91
- supportsShadowDom: false,
92
- });
93
- await page.rootInstance.receiveResource({
94
- literals: () => [
95
- {
96
- predicate: 'https://schema.org/name',
97
- values: ['Alice'],
98
- },
99
- ],
100
- });
101
- await page.waitForChanges();
102
- // when
103
- const input = page.root.querySelector('pos-add-literal-value');
104
- const literal = {
105
- predicate: 'https://schema.org/name',
106
- values: ['Bernadette'],
107
- };
108
- fireEvent(input, new CustomEvent('pod-os:added-literal-value', {
109
- detail: literal,
110
- }));
111
- await page.waitForChanges();
112
- // then
113
- expect(getByText(page.root, 'Alice')).toBeDefined();
114
- expect(getByText(page.root, 'Bernadette')).toBeDefined();
115
- expect(getAllByText(page.root, 'https://schema.org/name')).toHaveLength(1);
116
- });
117
- });
118
- //# sourceMappingURL=pos-literals.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pos-literals.spec.js","sourceRoot":"","sources":["../../../../src/components/pos-literals/pos-literals.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\n\nimport { fireEvent, getAllByText, getByText } from '@testing-library/dom';\n\nimport { PosLiterals } from './pos-literals';\nimport { Literal } from '@pod-os/core';\n\ndescribe('pos-literals', () => {\n it('are empty initially, but include option to add one', async () => {\n const page = await newSpecPage({\n components: [PosLiterals],\n html: `<pos-literals />`,\n });\n expect(page.root).toEqualHtml(`\n <pos-literals>\n <mock:shadow-root>\n <pos-add-literal-value />\n </mock:shadow-root>\n </pos-literals>\n `);\n });\n\n it('renders single predicate and value', async () => {\n const page = await newSpecPage({\n components: [PosLiterals],\n html: `<pos-literals />`,\n });\n await page.rootInstance.receiveResource({\n literals: () => [\n {\n predicate: 'http://schema.org/name',\n values: ['Alice'],\n },\n ],\n });\n await page.waitForChanges();\n\n const el: HTMLElement = page.root.shadowRoot as unknown as HTMLElement;\n\n expect(getByText(el, 'Alice')).toBeDefined();\n expect(getByText(el, 'http://schema.org/name')).toBeDefined();\n });\n\n it('renders multiple predicates and values', async () => {\n const page = await newSpecPage({\n components: [PosLiterals],\n html: `<pos-literals />`,\n });\n await page.rootInstance.receiveResource({\n literals: () => [\n {\n predicate: 'http://schema.org/name',\n values: ['Alice', 'Bernadette'],\n },\n {\n predicate: 'http://schema.org/description',\n values: ['the description'],\n },\n ],\n });\n await page.waitForChanges();\n\n const el: HTMLElement = page.root.shadowRoot as unknown as HTMLElement;\n\n expect(getByText(el, 'Alice')).toBeDefined();\n expect(getByText(el, 'Bernadette')).toBeDefined();\n expect(getByText(el, 'http://schema.org/name')).toBeDefined();\n\n expect(getByText(el, 'the description')).toBeDefined();\n expect(getByText(el, 'http://schema.org/description')).toBeDefined();\n });\n\n it('adds newly added predicate to the list', async () => {\n // given\n const page = await newSpecPage({\n components: [PosLiterals],\n html: `<pos-literals />`,\n supportsShadowDom: false,\n });\n await page.rootInstance.receiveResource({\n literals: () => [],\n });\n await page.waitForChanges();\n\n // when\n const input = page.root.querySelector('pos-add-literal-value');\n const literal: Literal = {\n predicate: 'https://schema.org/name',\n values: ['Alice'],\n };\n fireEvent(\n input,\n new CustomEvent('pod-os:added-literal-value', {\n detail: literal,\n }),\n );\n\n await page.waitForChanges();\n\n // then\n expect(getByText(page.root, 'Alice')).toBeDefined();\n expect(getByText(page.root, 'https://schema.org/name')).toBeDefined();\n });\n\n it('adds newly added predicate value to the existing list without duplicating the predicate', async () => {\n // given\n const page = await newSpecPage({\n components: [PosLiterals],\n html: `<pos-literals />`,\n supportsShadowDom: false,\n });\n await page.rootInstance.receiveResource({\n literals: () => [\n {\n predicate: 'https://schema.org/name',\n values: ['Alice'],\n },\n ],\n });\n await page.waitForChanges();\n\n // when\n const input = page.root.querySelector('pos-add-literal-value');\n const literal: Literal = {\n predicate: 'https://schema.org/name',\n values: ['Bernadette'],\n };\n fireEvent(\n input,\n new CustomEvent('pod-os:added-literal-value', {\n detail: literal,\n }),\n );\n\n await page.waitForChanges();\n\n // then\n expect(getByText(page.root, 'Alice')).toBeDefined();\n expect(getByText(page.root, 'Bernadette')).toBeDefined();\n expect(getAllByText(page.root, 'https://schema.org/name')).toHaveLength(1);\n });\n});\n"]}
@@ -1,35 +0,0 @@
1
- import { mockPodOS } from "../../test/mockPodOS";
2
- import { newSpecPage } from "@stencil/core/testing";
3
- import { PosApp } from "../pos-app/pos-app";
4
- import { PosLabel } from "../pos-label/pos-label";
5
- import { PosPicture } from "../pos-picture/pos-picture";
6
- import { PosResource } from "../pos-resource/pos-resource";
7
- import { PosLogin } from "./pos-login";
8
- describe('pos-login', () => {
9
- it('allows Alice to log in', async () => {
10
- mockPodOS();
11
- // given a page with login and session tracking
12
- const page = await newSpecPage({
13
- supportsShadowDom: false,
14
- components: [PosApp, PosLogin, PosLabel, PosResource, PosPicture],
15
- html: `<pos-app><pos-login></pos-login></pos-app>`,
16
- });
17
- // when alice logs in
18
- const login = page.root.querySelector('pos-login');
19
- const button = login.querySelector('ion-button');
20
- expect(button.innerText).toEqual('Login');
21
- await button.click();
22
- await page.waitForChanges();
23
- // then her WebID shows up
24
- const label = login.querySelector('pos-resource pos-label');
25
- expect(label).toEqualText('Alice');
26
- // then her picture shows up
27
- const image = login.querySelector('pos-resource pos-image');
28
- expect(image).toEqualHtml(`
29
- <pos-image alt="Alice" src="https://pod.example/alice/me.jpg"></pos-image>
30
- `);
31
- // the button becomes a logout button
32
- expect(button.innerText).toEqual('Logout');
33
- });
34
- });
35
- //# sourceMappingURL=pos-login.integration.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pos-login.integration.spec.js","sourceRoot":"","sources":["../../../../src/components/pos-login/pos-login.integration.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;EACzB,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;IACtC,SAAS,EAAE,CAAC;IACZ,+CAA+C;IAC/C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,iBAAiB,EAAE,KAAK;MACxB,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC;MACjE,IAAI,EAAE,4CAA4C;KACnD,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,0BAA0B;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAEnC,4BAA4B;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;;KAEzB,CAAC,CAAC;IAEH,qCAAqC;IACrC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;EAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { mockPodOS } from '../../test/mockPodOS';\nimport { newSpecPage } from '@stencil/core/testing';\nimport { PosApp } from '../pos-app/pos-app';\nimport { PosLabel } from '../pos-label/pos-label';\nimport { PosPicture } from '../pos-picture/pos-picture';\nimport { PosResource } from '../pos-resource/pos-resource';\nimport { PosLogin } from './pos-login';\n\ndescribe('pos-login', () => {\n it('allows Alice to log in', async () => {\n mockPodOS();\n // given a page with login and session tracking\n const page = await newSpecPage({\n supportsShadowDom: false,\n components: [PosApp, PosLogin, PosLabel, PosResource, PosPicture],\n html: `<pos-app><pos-login></pos-login></pos-app>`,\n });\n\n // when alice logs in\n const login = page.root.querySelector('pos-login');\n const button = login.querySelector('ion-button');\n expect(button.innerText).toEqual('Login');\n await button.click();\n await page.waitForChanges();\n\n // then her WebID shows up\n const label = login.querySelector('pos-resource pos-label');\n expect(label).toEqualText('Alice');\n\n // then her picture shows up\n const image = login.querySelector('pos-resource pos-image');\n expect(image).toEqualHtml(`\n <pos-image alt=\"Alice\" src=\"https://pod.example/alice/me.jpg\"></pos-image>\n `);\n\n // the button becomes a logout button\n expect(button.innerText).toEqual('Logout');\n });\n});\n"]}
@@ -1,46 +0,0 @@
1
- jest.mock('../../store/session');
2
- import { newSpecPage } from "@stencil/core/testing";
3
- import { PosLogin } from "./pos-login";
4
- import session from "../../store/session";
5
- describe('pos-login', () => {
6
- it('renders login button', async () => {
7
- session.state.isLoggedIn = false;
8
- const page = await newSpecPage({
9
- components: [PosLogin],
10
- html: `<pos-login></pos-login>`,
11
- });
12
- expect(page.root).toEqualHtml(`
13
- <pos-login>
14
- <mock:shadow-root>
15
- <ion-button>
16
- Login
17
- </ion-button>
18
- </mock:shadow-root>
19
- </pos-login>
20
- `);
21
- });
22
- it('renders logout button, label and picture for webId', async () => {
23
- session.state.isLoggedIn = true;
24
- session.state.webId = 'https://pod.example/alice#me';
25
- const page = await newSpecPage({
26
- components: [PosLogin],
27
- html: `<pos-login></pos-login>`,
28
- });
29
- expect(page.root).toEqualHtml(`
30
- <pos-login>
31
- <mock:shadow-root>
32
- <pos-resource uri="https://pod.example/alice#me">
33
- <span class="user-data">
34
- <pos-picture></pos-picture>
35
- <pos-label></pos-label>
36
- </span>
37
- </pos-resource>
38
- <ion-button>
39
- Logout
40
- </ion-button>
41
- </mock:shadow-root>
42
- </pos-login>
43
- `);
44
- });
45
- });
46
- //# sourceMappingURL=pos-login.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pos-login.spec.js","sourceRoot":"","sources":["../../../../src/components/pos-login/pos-login.spec.tsx"],"names":[],"mappings":"AAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAE1C,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;EACzB,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtB,IAAI,EAAE,yBAAyB;KAChC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;GAQ/B,CAAC,CAAC;EACH,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;IAClE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,8BAA8B,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,QAAQ,CAAC;MACtB,IAAI,EAAE,yBAAyB;KAChC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;GAc/B,CAAC,CAAC;EACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["jest.mock('../../store/session');\n\nimport { newSpecPage } from '@stencil/core/testing';\nimport { PosLogin } from './pos-login';\n\nimport session from '../../store/session';\n\ndescribe('pos-login', () => {\n it('renders login button', async () => {\n session.state.isLoggedIn = false;\n const page = await newSpecPage({\n components: [PosLogin],\n html: `<pos-login></pos-login>`,\n });\n expect(page.root).toEqualHtml(`\n <pos-login>\n <mock:shadow-root>\n <ion-button>\n Login\n </ion-button>\n </mock:shadow-root>\n </pos-login>\n `);\n });\n\n it('renders logout button, label and picture for webId', async () => {\n session.state.isLoggedIn = true;\n session.state.webId = 'https://pod.example/alice#me';\n const page = await newSpecPage({\n components: [PosLogin],\n html: `<pos-login></pos-login>`,\n });\n expect(page.root).toEqualHtml(`\n <pos-login>\n <mock:shadow-root>\n <pos-resource uri=\"https://pod.example/alice#me\">\n <span class=\"user-data\">\n <pos-picture></pos-picture>\n <pos-label></pos-label>\n </span>\n </pos-resource>\n <ion-button>\n Logout\n </ion-button>\n </mock:shadow-root>\n </pos-login>\n `);\n });\n});\n"]}
@@ -1,41 +0,0 @@
1
- import { newSpecPage } from "@stencil/core/testing";
2
- import { fireEvent } from "@testing-library/dom";
3
- import { PosNavigationBar } from "./pos-navigation-bar";
4
- describe('pos-navigation-bar', () => {
5
- it('renders a search bar within a form', async () => {
6
- const page = await newSpecPage({
7
- components: [PosNavigationBar],
8
- html: `<pos-navigation-bar uri="https://pod.example/resource" />`,
9
- });
10
- expect(page.root).toEqualHtml(`
11
- <pos-navigation-bar uri="https://pod.example/resource">
12
- <mock:shadow-root>
13
- <form>
14
- <ion-searchbar debounce="0" enterkeyhint="search" placeholder="Enter URI" value="https://pod.example/resource"></ion-searchbar>
15
- </form>
16
- </mock:shadow-root>
17
- </pos-navigation-bar>`);
18
- });
19
- it('navigates to entered URI when form is submitted', async () => {
20
- // given a page with a navigation bar
21
- const page = await newSpecPage({
22
- supportsShadowDom: false,
23
- components: [PosNavigationBar],
24
- html: `<pos-navigation-bar uri="https://pod.example/resource" />`,
25
- });
26
- // and the page listens for pod-os:link events
27
- const linkEventListener = jest.fn();
28
- page.root.addEventListener('pod-os:link', linkEventListener);
29
- // when the user enters a URI into the searchbar
30
- const searchBar = page.root.querySelector('ion-searchbar');
31
- fireEvent(searchBar, new CustomEvent('ionChange', { detail: { value: 'https://resource.test/' } }));
32
- // and then submits the form
33
- const form = page.root.querySelector('form');
34
- fireEvent(form, new CustomEvent('submit', {}));
35
- // then a pod-os:link event with this URI is received in the listener
36
- expect(linkEventListener).toHaveBeenCalledWith(expect.objectContaining({
37
- detail: 'https://resource.test/',
38
- }));
39
- });
40
- });
41
- //# sourceMappingURL=pos-navigation-bar.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pos-navigation-bar.spec.js","sourceRoot":"","sources":["../../../../src/components/pos-navigation-bar/pos-navigation-bar.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;EAClC,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;IAClD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,gBAAgB,CAAC;MAC9B,IAAI,EAAE,2DAA2D;KAClE,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;0BAOR,CAAC,CAAC;EAC1B,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;IAC/D,qCAAqC;IACrC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,iBAAiB,EAAE,KAAK;MACxB,UAAU,EAAE,CAAC,gBAAgB,CAAC;MAC9B,IAAI,EAAE,2DAA2D;KAClE,CAAC,CAAC;IAEH,8CAA8C;IAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAE7D,gDAAgD;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,CAAC,SAAS,EAAE,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpG,4BAA4B;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,SAAS,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAE/C,qEAAqE;IACrE,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAC5C,MAAM,CAAC,gBAAgB,CAAC;MACtB,MAAM,EAAE,wBAAwB;KACjC,CAAC,CACH,CAAC;EACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { fireEvent } from '@testing-library/dom';\nimport { PosNavigationBar } from './pos-navigation-bar';\n\ndescribe('pos-navigation-bar', () => {\n it('renders a search bar within a form', async () => {\n const page = await newSpecPage({\n components: [PosNavigationBar],\n html: `<pos-navigation-bar uri=\"https://pod.example/resource\" />`,\n });\n expect(page.root).toEqualHtml(`\n <pos-navigation-bar uri=\"https://pod.example/resource\">\n <mock:shadow-root>\n <form>\n <ion-searchbar debounce=\"0\" enterkeyhint=\"search\" placeholder=\"Enter URI\" value=\"https://pod.example/resource\"></ion-searchbar>\n </form>\n </mock:shadow-root>\n </pos-navigation-bar>`);\n });\n\n it('navigates to entered URI when form is submitted', async () => {\n // given a page with a navigation bar\n const page = await newSpecPage({\n supportsShadowDom: false,\n components: [PosNavigationBar],\n html: `<pos-navigation-bar uri=\"https://pod.example/resource\" />`,\n });\n\n // and the page listens for pod-os:link events\n const linkEventListener = jest.fn();\n page.root.addEventListener('pod-os:link', linkEventListener);\n\n // when the user enters a URI into the searchbar\n const searchBar = page.root.querySelector('ion-searchbar');\n fireEvent(searchBar, new CustomEvent('ionChange', { detail: { value: 'https://resource.test/' } }));\n\n // and then submits the form\n const form = page.root.querySelector('form');\n fireEvent(form, new CustomEvent('submit', {}));\n\n // then a pod-os:link event with this URI is received in the listener\n expect(linkEventListener).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: 'https://resource.test/',\n }),\n );\n });\n});\n"]}