@oanda/labs-sentiment-widget 1.0.172 → 1.0.174

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 (87) hide show
  1. package/CHANGELOG.md +1364 -0
  2. package/dist/main/SentimentWidget/SentimentWidget.js +18 -23
  3. package/dist/main/SentimentWidget/SentimentWidget.js.map +1 -1
  4. package/dist/main/SentimentWidget/Tool.js +18 -18
  5. package/dist/main/SentimentWidget/Tool.js.map +1 -1
  6. package/dist/main/SentimentWidget/Widget.js +15 -17
  7. package/dist/main/SentimentWidget/Widget.js.map +1 -1
  8. package/dist/main/SentimentWidget/components/SortSwitch/SortSwitch.js +14 -16
  9. package/dist/main/SentimentWidget/components/SortSwitch/SortSwitch.js.map +1 -1
  10. package/dist/main/SentimentWidget/render.js +9 -9
  11. package/dist/main/SentimentWidget/render.js.map +1 -1
  12. package/dist/main/SentimentWidget/types.js.map +1 -1
  13. package/dist/main/SentimentWidget/utils.js.map +1 -1
  14. package/dist/main/gql/getInstrumentSentiment.js +2 -8
  15. package/dist/main/gql/getInstrumentSentiment.js.map +1 -1
  16. package/dist/main/gql/getSentimentList.js +2 -6
  17. package/dist/main/gql/getSentimentList.js.map +1 -1
  18. package/dist/main/gql/types/fragment-masking.js.map +1 -1
  19. package/dist/main/gql/types/gql.js +2 -2
  20. package/dist/main/gql/types/gql.js.map +1 -1
  21. package/dist/main/gql/types/graphql.js +154 -154
  22. package/dist/main/gql/types/graphql.js.map +1 -1
  23. package/dist/main/gql/types/index.js.map +1 -1
  24. package/dist/main/index.js +8 -8
  25. package/dist/main/index.js.map +1 -1
  26. package/dist/main/translations/index.js +1 -1
  27. package/dist/main/translations/index.js.map +1 -1
  28. package/dist/main/translations/translations.js.map +1 -1
  29. package/dist/module/SentimentWidget/SentimentWidget.js +19 -24
  30. package/dist/module/SentimentWidget/SentimentWidget.js.map +1 -1
  31. package/dist/module/SentimentWidget/Tool.js +17 -17
  32. package/dist/module/SentimentWidget/Tool.js.map +1 -1
  33. package/dist/module/SentimentWidget/Widget.js +16 -16
  34. package/dist/module/SentimentWidget/Widget.js.map +1 -1
  35. package/dist/module/SentimentWidget/components/SortSwitch/SortSwitch.js +14 -14
  36. package/dist/module/SentimentWidget/components/SortSwitch/SortSwitch.js.map +1 -1
  37. package/dist/module/SentimentWidget/render.js +9 -9
  38. package/dist/module/SentimentWidget/render.js.map +1 -1
  39. package/dist/module/SentimentWidget/types.js.map +1 -1
  40. package/dist/module/SentimentWidget/utils.js.map +1 -1
  41. package/dist/module/gql/getInstrumentSentiment.js +2 -8
  42. package/dist/module/gql/getInstrumentSentiment.js.map +1 -1
  43. package/dist/module/gql/getSentimentList.js +2 -6
  44. package/dist/module/gql/getSentimentList.js.map +1 -1
  45. package/dist/module/gql/types/fragment-masking.js.map +1 -1
  46. package/dist/module/gql/types/gql.js +2 -2
  47. package/dist/module/gql/types/gql.js.map +1 -1
  48. package/dist/module/gql/types/graphql.js +154 -154
  49. package/dist/module/gql/types/graphql.js.map +1 -1
  50. package/dist/module/gql/types/index.js +2 -2
  51. package/dist/module/gql/types/index.js.map +1 -1
  52. package/dist/module/index.js +1 -1
  53. package/dist/module/index.js.map +1 -1
  54. package/dist/module/translations/index.js +1 -1
  55. package/dist/module/translations/index.js.map +1 -1
  56. package/dist/module/translations/translations.js.map +1 -1
  57. package/dist/types/SentimentWidget/SentimentWidget.d.ts +1 -1
  58. package/dist/types/SentimentWidget/Tool.d.ts +1 -1
  59. package/dist/types/SentimentWidget/Widget.d.ts +1 -1
  60. package/dist/types/SentimentWidget/components/SortSwitch/SortSwitch.d.ts +2 -2
  61. package/dist/types/SentimentWidget/types.d.ts +2 -2
  62. package/dist/types/SentimentWidget/utils.d.ts +2 -1
  63. package/dist/types/gql/types/gql.d.ts +4 -4
  64. package/dist/types/gql/types/index.d.ts +2 -2
  65. package/dist/types/index.d.ts +1 -1
  66. package/dist/types/translations/index.d.ts +2 -2
  67. package/package.json +3 -3
  68. package/src/SentimentWidget/SentimentWidget.tsx +28 -33
  69. package/src/SentimentWidget/Tool.tsx +96 -80
  70. package/src/SentimentWidget/Widget.tsx +72 -66
  71. package/src/SentimentWidget/components/SortSwitch/SortSwitch.tsx +42 -39
  72. package/src/SentimentWidget/render.tsx +40 -28
  73. package/src/SentimentWidget/types.ts +3 -2
  74. package/src/SentimentWidget/utils.ts +12 -4
  75. package/src/gql/getInstrumentSentiment.ts +2 -8
  76. package/src/gql/getSentimentList.ts +2 -6
  77. package/src/gql/types/fragment-masking.ts +41 -21
  78. package/src/gql/types/gql.ts +12 -5
  79. package/src/gql/types/graphql.ts +225 -47
  80. package/src/gql/types/index.ts +2 -2
  81. package/src/index.ts +1 -1
  82. package/src/translations/index.ts +4 -4
  83. package/src/translations/translations.ts +2 -1
  84. package/test/SortSwitch.test.tsx +36 -23
  85. package/test/Tool.test.tsx +13 -11
  86. package/test/Widget.test.tsx +31 -26
  87. package/test/sortData.test.ts +49 -13
@@ -1,13 +1,14 @@
1
1
  /**
2
2
  * @jest-environment jsdom
3
3
  */
4
- import React from 'react';
5
- import { render } from '@testing-library/react';
6
4
  import { MockedProvider } from '@apollo/client/testing';
7
- import { ThemeContext, Size } from '@oanda/labs-widget-common';
8
- import { Widget } from '../src/SentimentWidget/Widget';
5
+ import { MockLayoutProvider } from '@oanda/labs-widget-common';
6
+ import { render } from '@testing-library/react';
7
+ import React from 'react';
8
+
9
9
  import { getInstrumentSentiment } from '../src/gql/getInstrumentSentiment';
10
10
  import { Division } from '../src/gql/types/graphql';
11
+ import { Widget } from '../src/SentimentWidget/Widget';
11
12
 
12
13
  const mocks = [
13
14
  {
@@ -20,15 +21,17 @@ const mocks = [
20
21
  },
21
22
  result: {
22
23
  data: {
23
- sentiment: [{
24
- name: 'EUR/USD',
25
- displayName: 'EUR/USD',
26
- sentiment: {
27
- longPercent: 34,
28
- shortPercent: 66,
24
+ sentiment: [
25
+ {
26
+ name: 'EUR/USD',
27
+ displayName: 'EUR/USD',
28
+ sentiment: {
29
+ longPercent: 34,
30
+ shortPercent: 66,
31
+ },
32
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
29
33
  },
30
- updatedAt: '2023-12-02T10:00:08.509215576Z',
31
- }],
34
+ ],
32
35
  },
33
36
  },
34
37
  },
@@ -45,15 +48,17 @@ const zeroPercentMocks = [
45
48
  },
46
49
  result: {
47
50
  data: {
48
- sentiment: [{
49
- name: 'GBP/USD',
50
- displayName: 'GBP/USD',
51
- sentiment: {
52
- longPercent: 0,
53
- shortPercent: 0,
51
+ sentiment: [
52
+ {
53
+ name: 'GBP/USD',
54
+ displayName: 'GBP/USD',
55
+ sentiment: {
56
+ longPercent: 0,
57
+ shortPercent: 0,
58
+ },
59
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
54
60
  },
55
- updatedAt: '2023-12-02T10:00:08.509215576Z',
56
- }],
61
+ ],
57
62
  },
58
63
  },
59
64
  },
@@ -63,10 +68,10 @@ describe('Widget component', () => {
63
68
  it('should render widget component', async () => {
64
69
  const { findByTestId } = render(
65
70
  <MockedProvider mocks={mocks}>
66
- <ThemeContext.Provider value={{ size: Size.DESKTOP, isDark: true }}>
71
+ <MockLayoutProvider>
67
72
  <Widget division={Division.Oc} instrument="EUR/USD" />
68
- </ThemeContext.Provider>
69
- </MockedProvider>,
73
+ </MockLayoutProvider>
74
+ </MockedProvider>
70
75
  );
71
76
 
72
77
  expect(await findByTestId('sentiment-widget')).toBeInTheDocument();
@@ -75,10 +80,10 @@ describe('Widget component', () => {
75
80
  it('should render error when both sentiment values are 0', async () => {
76
81
  const { findByTestId } = render(
77
82
  <MockedProvider mocks={zeroPercentMocks}>
78
- <ThemeContext.Provider value={{ size: Size.DESKTOP, isDark: true }}>
83
+ <MockLayoutProvider>
79
84
  <Widget division={Division.Oc} instrument="GBP/USD" />
80
- </ThemeContext.Provider>
81
- </MockedProvider>,
85
+ </MockLayoutProvider>
86
+ </MockedProvider>
82
87
  );
83
88
 
84
89
  expect(await findByTestId('sentiment-widget')).toBeInTheDocument();
@@ -1,5 +1,5 @@
1
- import { sortData } from '../src/SentimentWidget/utils';
2
1
  import { Sort } from '../src/gql/types/graphql';
2
+ import { sortData } from '../src/SentimentWidget/utils';
3
3
 
4
4
  const data = {
5
5
  sentimentList: [
@@ -66,22 +66,40 @@ describe('sortData function', () => {
66
66
 
67
67
  expect(path).toEqual([
68
68
  {
69
- name: 'XAU/USD', displayName: 'XAU/USD', sentiment: { longPercent: 90, shortPercent: 10 }, updatedAt: '2023-12-02T10:00:08.509215576Z',
69
+ name: 'XAU/USD',
70
+ displayName: 'XAU/USD',
71
+ sentiment: { longPercent: 90, shortPercent: 10 },
72
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
70
73
  },
71
74
  {
72
- name: 'EUR/USD', displayName: 'EUR/USD', sentiment: { longPercent: 60, shortPercent: 40 }, updatedAt: '2023-12-02T10:00:08.509215576Z',
75
+ name: 'EUR/USD',
76
+ displayName: 'EUR/USD',
77
+ sentiment: { longPercent: 60, shortPercent: 40 },
78
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
73
79
  },
74
80
  {
75
- name: 'US30/USD', displayName: 'US30/USD', sentiment: { longPercent: 55, shortPercent: 45 }, updatedAt: '2023-12-02T10:00:08.509215576Z',
81
+ name: 'US30/USD',
82
+ displayName: 'US30/USD',
83
+ sentiment: { longPercent: 55, shortPercent: 45 },
84
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
76
85
  },
77
86
  {
78
- name: 'GBP/USD', displayName: 'GBP/USD', sentiment: { longPercent: 30, shortPercent: 70 }, updatedAt: '2023-12-02T10:00:08.509215576Z',
87
+ name: 'GBP/USD',
88
+ displayName: 'GBP/USD',
89
+ sentiment: { longPercent: 30, shortPercent: 70 },
90
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
79
91
  },
80
92
  {
81
- name: 'AUD/CAD', displayName: 'AUD/CAD', sentiment: { longPercent: 20, shortPercent: 80 }, updatedAt: '2023-12-02T10:00:08.509215576Z',
93
+ name: 'AUD/CAD',
94
+ displayName: 'AUD/CAD',
95
+ sentiment: { longPercent: 20, shortPercent: 80 },
96
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
82
97
  },
83
98
  {
84
- name: 'USD/CHF', displayName: 'USD/CHF', sentiment: { longPercent: 15, shortPercent: 85 }, updatedAt: '2023-12-02T10:00:08.509215576Z',
99
+ name: 'USD/CHF',
100
+ displayName: 'USD/CHF',
101
+ sentiment: { longPercent: 15, shortPercent: 85 },
102
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
85
103
  },
86
104
  ]);
87
105
  });
@@ -90,22 +108,40 @@ describe('sortData function', () => {
90
108
 
91
109
  expect(path).toEqual([
92
110
  {
93
- name: 'USD/CHF', displayName: 'USD/CHF', sentiment: { longPercent: 15, shortPercent: 85 }, updatedAt: '2023-12-02T10:00:08.509215576Z',
111
+ name: 'USD/CHF',
112
+ displayName: 'USD/CHF',
113
+ sentiment: { longPercent: 15, shortPercent: 85 },
114
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
94
115
  },
95
116
  {
96
- name: 'AUD/CAD', displayName: 'AUD/CAD', sentiment: { longPercent: 20, shortPercent: 80 }, updatedAt: '2023-12-02T10:00:08.509215576Z',
117
+ name: 'AUD/CAD',
118
+ displayName: 'AUD/CAD',
119
+ sentiment: { longPercent: 20, shortPercent: 80 },
120
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
97
121
  },
98
122
  {
99
- name: 'GBP/USD', displayName: 'GBP/USD', sentiment: { longPercent: 30, shortPercent: 70 }, updatedAt: '2023-12-02T10:00:08.509215576Z',
123
+ name: 'GBP/USD',
124
+ displayName: 'GBP/USD',
125
+ sentiment: { longPercent: 30, shortPercent: 70 },
126
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
100
127
  },
101
128
  {
102
- name: 'US30/USD', displayName: 'US30/USD', sentiment: { longPercent: 55, shortPercent: 45 }, updatedAt: '2023-12-02T10:00:08.509215576Z',
129
+ name: 'US30/USD',
130
+ displayName: 'US30/USD',
131
+ sentiment: { longPercent: 55, shortPercent: 45 },
132
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
103
133
  },
104
134
  {
105
- name: 'EUR/USD', displayName: 'EUR/USD', sentiment: { longPercent: 60, shortPercent: 40 }, updatedAt: '2023-12-02T10:00:08.509215576Z',
135
+ name: 'EUR/USD',
136
+ displayName: 'EUR/USD',
137
+ sentiment: { longPercent: 60, shortPercent: 40 },
138
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
106
139
  },
107
140
  {
108
- name: 'XAU/USD', displayName: 'XAU/USD', sentiment: { longPercent: 90, shortPercent: 10 }, updatedAt: '2023-12-02T10:00:08.509215576Z',
141
+ name: 'XAU/USD',
142
+ displayName: 'XAU/USD',
143
+ sentiment: { longPercent: 90, shortPercent: 10 },
144
+ updatedAt: '2023-12-02T10:00:08.509215576Z',
109
145
  },
110
146
  ]);
111
147
  });