@simplybusiness/services 0.1.1

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 (96) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/data/scripts-mock.js +59 -0
  3. package/dist/cjs/data/scripts-mock.js.map +1 -0
  4. package/dist/cjs/index.js +20 -0
  5. package/dist/cjs/index.js.map +1 -0
  6. package/dist/cjs/mocks/eventDefinitions.js +46 -0
  7. package/dist/cjs/mocks/eventDefinitions.js.map +1 -0
  8. package/dist/cjs/services/airbrake/index.js +23 -0
  9. package/dist/cjs/services/airbrake/index.js.map +1 -0
  10. package/dist/cjs/services/index.js +25 -0
  11. package/dist/cjs/services/index.js.map +1 -0
  12. package/dist/cjs/services/snowplow/SnowplowContext.js +61 -0
  13. package/dist/cjs/services/snowplow/SnowplowContext.js.map +1 -0
  14. package/dist/cjs/services/snowplow/contexts.js +18 -0
  15. package/dist/cjs/services/snowplow/contexts.js.map +1 -0
  16. package/dist/cjs/services/snowplow/event-definitions.js +235 -0
  17. package/dist/cjs/services/snowplow/event-definitions.js.map +1 -0
  18. package/dist/cjs/services/snowplow/getSnowplowConfig.js +16 -0
  19. package/dist/cjs/services/snowplow/getSnowplowConfig.js.map +1 -0
  20. package/dist/cjs/services/snowplow/index.js +138 -0
  21. package/dist/cjs/services/snowplow/index.js.map +1 -0
  22. package/dist/cjs/services/snowplow/types.js +6 -0
  23. package/dist/cjs/services/snowplow/types.js.map +1 -0
  24. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  25. package/dist/cjs/utils/index.js +20 -0
  26. package/dist/cjs/utils/index.js.map +1 -0
  27. package/dist/cjs/utils/testUtils.js +43 -0
  28. package/dist/cjs/utils/testUtils.js.map +1 -0
  29. package/dist/cjs/utils/text.js +13 -0
  30. package/dist/cjs/utils/text.js.map +1 -0
  31. package/dist/esm/data/scripts-mock.js +49 -0
  32. package/dist/esm/data/scripts-mock.js.map +1 -0
  33. package/dist/esm/index.js +3 -0
  34. package/dist/esm/index.js.map +1 -0
  35. package/dist/esm/mocks/eventDefinitions.js +36 -0
  36. package/dist/esm/mocks/eventDefinitions.js.map +1 -0
  37. package/dist/esm/services/airbrake/index.js +13 -0
  38. package/dist/esm/services/airbrake/index.js.map +1 -0
  39. package/dist/esm/services/index.js +8 -0
  40. package/dist/esm/services/index.js.map +1 -0
  41. package/dist/esm/services/snowplow/SnowplowContext.js +43 -0
  42. package/dist/esm/services/snowplow/SnowplowContext.js.map +1 -0
  43. package/dist/esm/services/snowplow/contexts.js +8 -0
  44. package/dist/esm/services/snowplow/contexts.js.map +1 -0
  45. package/dist/esm/services/snowplow/event-definitions.js +240 -0
  46. package/dist/esm/services/snowplow/event-definitions.js.map +1 -0
  47. package/dist/esm/services/snowplow/getSnowplowConfig.js +7 -0
  48. package/dist/esm/services/snowplow/getSnowplowConfig.js.map +1 -0
  49. package/dist/esm/services/snowplow/index.js +133 -0
  50. package/dist/esm/services/snowplow/index.js.map +1 -0
  51. package/dist/esm/services/snowplow/types.js +3 -0
  52. package/dist/esm/services/snowplow/types.js.map +1 -0
  53. package/dist/esm/utils/index.js +3 -0
  54. package/dist/esm/utils/index.js.map +1 -0
  55. package/dist/esm/utils/testUtils.js +26 -0
  56. package/dist/esm/utils/testUtils.js.map +1 -0
  57. package/dist/esm/utils/text.js +3 -0
  58. package/dist/esm/utils/text.js.map +1 -0
  59. package/dist/types/data/scripts-mock.d.ts +44 -0
  60. package/dist/types/index.d.ts +1 -0
  61. package/dist/types/mocks/eventDefinitions.d.ts +32 -0
  62. package/dist/types/services/airbrake/index.d.ts +2 -0
  63. package/dist/types/services/index.d.ts +5 -0
  64. package/dist/types/services/snowplow/SnowplowContext.d.ts +14 -0
  65. package/dist/types/services/snowplow/SnowplowContext.test.d.ts +1 -0
  66. package/dist/types/services/snowplow/contexts.d.ts +3 -0
  67. package/dist/types/services/snowplow/contexts.test.d.ts +1 -0
  68. package/dist/types/services/snowplow/event-definitions.d.ts +18 -0
  69. package/dist/types/services/snowplow/getSnowplowConfig.d.ts +2 -0
  70. package/dist/types/services/snowplow/index.d.ts +29 -0
  71. package/dist/types/services/snowplow/index.test.d.ts +1 -0
  72. package/dist/types/services/snowplow/types.d.ts +37 -0
  73. package/dist/types/utils/index.d.ts +1 -0
  74. package/dist/types/utils/testUtils.d.ts +7 -0
  75. package/dist/types/utils/text.d.ts +1 -0
  76. package/dist/types/utils/text.test.d.ts +1 -0
  77. package/package.json +86 -0
  78. package/src/__mocks__/snowplowBrowserTrackerMock.js +6 -0
  79. package/src/data/scripts-mock.ts +44 -0
  80. package/src/index.tsx +1 -0
  81. package/src/mocks/eventDefinitions.ts +39 -0
  82. package/src/services/airbrake/index.ts +16 -0
  83. package/src/services/index.tsx +6 -0
  84. package/src/services/snowplow/SnowplowContext.test.tsx +32 -0
  85. package/src/services/snowplow/SnowplowContext.tsx +68 -0
  86. package/src/services/snowplow/contexts.test.ts +42 -0
  87. package/src/services/snowplow/contexts.ts +14 -0
  88. package/src/services/snowplow/event-definitions.ts +256 -0
  89. package/src/services/snowplow/getSnowplowConfig.ts +8 -0
  90. package/src/services/snowplow/index.test.ts +194 -0
  91. package/src/services/snowplow/index.ts +163 -0
  92. package/src/services/snowplow/types.ts +65 -0
  93. package/src/utils/index.ts +1 -0
  94. package/src/utils/testUtils.tsx +36 -0
  95. package/src/utils/text.test.ts +9 -0
  96. package/src/utils/text.ts +2 -0
@@ -0,0 +1,36 @@
1
+ /* eslint-disable import/no-extraneous-dependencies */
2
+ import { RenderOptions, render } from "@testing-library/react";
3
+ import { ReactElement, ReactNode } from "react";
4
+ import { pageData } from "../data/scripts-mock";
5
+ import { SnowplowProvider } from "../services/snowplow/SnowplowContext";
6
+ import { getSnowplowConfig } from "../services/snowplow/getSnowplowConfig";
7
+ import { PageDataProps } from "../services/snowplow/types";
8
+
9
+ // Snowplow analytics
10
+ const snowplowProps = getSnowplowConfig(pageData as PageDataProps);
11
+
12
+ const ProvidersMock = ({ children }: { children: ReactNode }) => (
13
+ <SnowplowProvider scripts={snowplowProps!}>{children}</SnowplowProvider>
14
+ );
15
+
16
+ export const renderWithProviders = (
17
+ ui: ReactElement,
18
+ options?: RenderOptions,
19
+ ) => render(ui, { wrapper: ProvidersMock, ...options });
20
+
21
+ // Mocks window.location for url testing
22
+ export const mockLocation = ({
23
+ origin = "https://simplybusiness.co.uk",
24
+ pathname = "",
25
+ }: {
26
+ origin?: string;
27
+ pathname?: string;
28
+ }) =>
29
+ Object.defineProperty(window, "location", {
30
+ get() {
31
+ return {
32
+ origin,
33
+ pathname,
34
+ };
35
+ },
36
+ });
@@ -0,0 +1,9 @@
1
+ import { snakeCase } from "./text";
2
+
3
+ describe("text utils", () => {
4
+ test("snakeCase", () => {
5
+ expect(snakeCase("Hello World")).toBe("hello_world");
6
+ expect(snakeCase("Hello")).toBe("hello");
7
+ expect(snakeCase("")).toBe("");
8
+ });
9
+ });
@@ -0,0 +1,2 @@
1
+ export const snakeCase = (text = ""): string =>
2
+ text.toLowerCase().replace(/ /g, "_");