@hedia/recommendation-screen 2.1.1 → 2.1.3-beta.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 (104) hide show
  1. package/coverage/clover.xml +378 -367
  2. package/coverage/coverage-final.json +18 -18
  3. package/coverage/lcov-report/index.html +15 -15
  4. package/coverage/lcov-report/src/RecommendationScreen.tsx.html +112 -67
  5. package/coverage/lcov-report/src/__tests__/index.html +1 -1
  6. package/coverage/lcov-report/src/__tests__/utils.tsx.html +11 -11
  7. package/coverage/lcov-report/src/components/Header.tsx.html +2 -2
  8. package/coverage/lcov-report/src/components/InfoBars.tsx.html +49 -19
  9. package/coverage/lcov-report/src/components/InvisibleNumberInput.tsx.html +1 -1
  10. package/coverage/lcov-report/src/components/LimitationMessage.tsx.html +1 -1
  11. package/coverage/lcov-report/src/components/LineSeparator.tsx.html +2 -2
  12. package/coverage/lcov-report/src/components/RecentInsulin.tsx.html +1 -1
  13. package/coverage/lcov-report/src/components/RecommendationModal.tsx.html +17 -17
  14. package/coverage/lcov-report/src/components/RecommendedCarbs.tsx.html +13 -13
  15. package/coverage/lcov-report/src/components/RecommendedInsulin.tsx.html +11 -11
  16. package/coverage/lcov-report/src/components/Remeasure.tsx.html +12 -12
  17. package/coverage/lcov-report/src/components/TransferToLogbook.tsx.html +5 -5
  18. package/coverage/lcov-report/src/components/TwoOptionModal.tsx.html +1 -1
  19. package/coverage/lcov-report/src/components/activity/Activity.tsx.html +1 -1
  20. package/coverage/lcov-report/src/components/activity/ActivityIcon.tsx.html +1 -1
  21. package/coverage/lcov-report/src/components/activity/ActivityIntensity.tsx.html +1 -1
  22. package/coverage/lcov-report/src/components/activity/index.html +1 -1
  23. package/coverage/lcov-report/src/components/index.html +7 -7
  24. package/coverage/lcov-report/src/components/mood/Emotion.tsx.html +8 -8
  25. package/coverage/lcov-report/src/components/mood/MoodIcon.tsx.html +8 -8
  26. package/coverage/lcov-report/src/components/mood/index.html +1 -1
  27. package/coverage/lcov-report/src/index.html +7 -7
  28. package/coverage/lcov-report/src/locale/i18nUtils.ts.html +5 -5
  29. package/coverage/lcov-report/src/locale/index.html +1 -1
  30. package/coverage/lcov-report/src/utils/AttentionMessages.tsx.html +5 -5
  31. package/coverage/lcov-report/src/utils/Constants.ts.html +1 -1
  32. package/coverage/lcov-report/src/utils/RecommendationError.tsx.html +41 -8
  33. package/coverage/lcov-report/src/utils/RecommendationUtils.ts.html +33 -33
  34. package/coverage/lcov-report/src/utils/Translations.ts.html +1 -1
  35. package/coverage/lcov-report/src/utils/Utils.ts.html +23 -17
  36. package/coverage/lcov-report/src/utils/Validations.ts.html +77 -50
  37. package/coverage/lcov-report/src/utils/index.html +12 -12
  38. package/coverage/lcov.info +821 -794
  39. package/ios/Podfile.lock +1 -1
  40. package/package.json +6 -5
  41. package/src/RecommendationScreen.d.ts +2 -2
  42. package/src/{RecommendationScreen.jsx → RecommendationScreen.js} +35 -38
  43. package/src/__tests__/{RecommendationScreen.test.jsx → RecommendationScreen.test.js} +94 -75
  44. package/src/__tests__/Validations.test.js +18 -0
  45. package/src/__tests__/components/{Activity.test.jsx → Activity.test.js} +7 -8
  46. package/src/__tests__/components/{Emotion.test.jsx → Emotion.test.js} +5 -5
  47. package/src/__tests__/components/{Header.test.jsx → Header.test.js} +3 -4
  48. package/src/__tests__/components/{InfoBars.test.jsx → InfoBars.test.js} +8 -8
  49. package/src/__tests__/components/{InvisibleNumberInput.test.jsx → InvisibleNumberInput.test.js} +8 -8
  50. package/src/__tests__/components/{LimitationMessage.test.jsx → LimitationMessage.test.js} +4 -4
  51. package/src/__tests__/components/{MoodIcon.test.jsx → MoodIcon.test.js} +2 -2
  52. package/src/__tests__/components/{RecommendationModal.test.jsx → RecommendationModal.test.js} +8 -9
  53. package/src/__tests__/components/{RecommendedCarbs.test.jsx → RecommendedCarbs.test.js} +12 -12
  54. package/src/__tests__/components/{RecommendedInsulin.test.jsx → RecommendedInsulin.test.js} +10 -10
  55. package/src/__tests__/components/{Remeasure.test.jsx → Remeasure.test.js} +7 -7
  56. package/src/__tests__/components/{TransferToLogbook.test.jsx → TransferToLogbook.test.js} +3 -3
  57. package/src/__tests__/components/{TwoOptionModal.test.jsx → TwoOptionModal.test.js} +3 -3
  58. package/src/__tests__/{utils.jsx → utils.js} +1 -3
  59. package/src/components/Header.js +71 -0
  60. package/src/components/{Icon.jsx → Icon.js} +1 -1
  61. package/src/components/InfoBars.d.ts +7 -2
  62. package/src/components/{InfoBars.jsx → InfoBars.js} +16 -20
  63. package/src/components/{InvisibleNumberInput.jsx → InvisibleNumberInput.js} +5 -5
  64. package/src/components/{LimitationMessage.jsx → LimitationMessage.js} +8 -13
  65. package/src/components/{LineSeparator.jsx → LineSeparator.js} +2 -3
  66. package/src/components/{RecentInsulin.jsx → RecentInsulin.js} +12 -20
  67. package/src/components/{RecommendationModal.jsx → RecommendationModal.js} +29 -50
  68. package/src/components/RecommendedCarbs.js +176 -0
  69. package/src/components/{RecommendedInsulin.jsx → RecommendedInsulin.js} +11 -21
  70. package/src/components/{Remeasure.jsx → Remeasure.js} +14 -20
  71. package/src/components/{TransferToLogbook.jsx → TransferToLogbook.js} +5 -9
  72. package/src/components/{TwoOptionModal.jsx → TwoOptionModal.js} +13 -27
  73. package/src/components/activity/Activity.js +60 -0
  74. package/src/components/activity/{ActivityIcon.jsx → ActivityIcon.js} +3 -4
  75. package/src/components/activity/{ActivityIntensity.jsx → ActivityIntensity.js} +5 -8
  76. package/src/components/mood/{Emotion.jsx → Emotion.js} +5 -7
  77. package/src/components/mood/{MoodIcon.jsx → MoodIcon.js} +2 -3
  78. package/src/locale/da/messages.js +1 -1
  79. package/src/locale/da/messages.po +31 -27
  80. package/src/locale/de/messages.js +1 -1
  81. package/src/locale/de/messages.po +31 -27
  82. package/src/locale/en/messages.js +1 -1
  83. package/src/locale/en/messages.po +31 -27
  84. package/src/locale/es/messages.js +1 -1
  85. package/src/locale/es/messages.po +31 -27
  86. package/src/locale/fr/messages.js +1 -1
  87. package/src/locale/fr/messages.po +31 -27
  88. package/src/locale/it/messages.js +1 -1
  89. package/src/locale/it/messages.po +31 -27
  90. package/src/types/enum.d.ts +20 -2
  91. package/src/types/enum.js +23 -1
  92. package/src/utils/RecommendationError.d.ts +1 -0
  93. package/src/utils/{RecommendationError.jsx → RecommendationError.js} +3 -1
  94. package/src/utils/RecommendationUtils.d.ts +1 -1
  95. package/src/utils/Utils.d.ts +2 -2
  96. package/src/utils/Utils.js +2 -2
  97. package/src/utils/Validations.d.ts +4 -3
  98. package/src/utils/Validations.js +13 -4
  99. package/tsconfig.json +1 -1
  100. package/src/components/Header.jsx +0 -80
  101. package/src/components/RecommendedCarbs.jsx +0 -200
  102. package/src/components/activity/Activity.jsx +0 -72
  103. /package/src/__tests__/{Translate.test.jsx → Translate.test.js} +0 -0
  104. /package/src/utils/{AttentionMessages.jsx → AttentionMessages.js} +0 -0
@@ -42,7 +42,7 @@ describe(`RecommendationScreen`, () => {
42
42
  },
43
43
  userReminder: 5,
44
44
  });
45
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
45
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
46
46
  const okButton = wrapper.getByTestId(enum_1.RecommendationModalTestIds.AcceptCarbs);
47
47
  react_native_testing_library_1.fireEvent(okButton, `onPress`);
48
48
  utils_1.expectTextExists(wrapper, `Food`);
@@ -59,7 +59,7 @@ describe(`RecommendationScreen`, () => {
59
59
  recentBoluses: [],
60
60
  },
61
61
  });
62
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
62
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
63
63
  const okButton = wrapper.getByTestId(enum_1.RecommendationModalTestIds.AcceptCarbs);
64
64
  react_native_testing_library_1.fireEvent(okButton, `onPress`);
65
65
  utils_1.expectTextExists(wrapper, `Food`);
@@ -85,7 +85,7 @@ describe(`RecommendationScreen`, () => {
85
85
  },
86
86
  userReminder: 6,
87
87
  });
88
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
88
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
89
89
  const okayButton = wrapper.getByTestId(enum_1.RecommendationModalTestIds.OkButton);
90
90
  react_native_testing_library_1.fireEvent(okayButton, `onPress`);
91
91
  utils_1.expectTextExists(wrapper, `Food`);
@@ -105,7 +105,7 @@ describe(`RecommendationScreen`, () => {
105
105
  activity: null,
106
106
  },
107
107
  });
108
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
108
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
109
109
  utils_1.expectTextExists(wrapper, `Food`);
110
110
  utils_1.expectTextNotExists(wrapper, `Recommended`);
111
111
  utils_1.expectTextNotExists(wrapper, `Additional`);
@@ -122,7 +122,7 @@ describe(`RecommendationScreen`, () => {
122
122
  activity: null,
123
123
  },
124
124
  });
125
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
125
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
126
126
  const okButton = wrapper.getByTestId(enum_1.RecommendationModalTestIds.AcceptCarbs);
127
127
  react_native_testing_library_1.fireEvent(okButton, `onPress`);
128
128
  utils_1.expectTextExists(wrapper, `Food`);
@@ -135,7 +135,7 @@ describe(`RecommendationScreen`, () => {
135
135
  });
136
136
  test(`Update remeasureTime to number > 0`, () => {
137
137
  const props = utils_1.getRecommendationProps();
138
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
138
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
139
139
  utils_1.expectTextExists(wrapper, `hours`);
140
140
  const slider = wrapper.getByTestId(enum_1.RemeasureTestIds.RemeasureSlider);
141
141
  react_native_testing_library_1.fireEvent(slider, `onValueChange`, 3.2);
@@ -144,7 +144,7 @@ describe(`RecommendationScreen`, () => {
144
144
  });
145
145
  test(`Update remeasureTime to 0`, () => {
146
146
  const props = utils_1.getRecommendationProps();
147
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
147
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
148
148
  utils_1.expectTextExists(wrapper, `hours`);
149
149
  const slider = wrapper.getByTestId(enum_1.RemeasureTestIds.RemeasureSlider);
150
150
  react_native_testing_library_1.fireEvent(slider, `onValueChange`, 0);
@@ -158,7 +158,7 @@ describe(`RecommendationScreen`, () => {
158
158
  recentBoluses: [],
159
159
  },
160
160
  });
161
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
161
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
162
162
  expect(props.onRecentInsulinYes).not.toBeCalled();
163
163
  utils_1.expectTextExists(wrapper, `Recommended amount of insulin`);
164
164
  const button = wrapper.getByTestId(enum_1.RecentInsulinTestIds.Yes);
@@ -173,7 +173,7 @@ describe(`RecommendationScreen`, () => {
173
173
  recentBoluses: [],
174
174
  },
175
175
  });
176
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
176
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
177
177
  utils_1.expectTextExists(wrapper, `Have you taken insulin within the last 4 hours?`);
178
178
  const button = wrapper.getByTestId(enum_1.RecentInsulinTestIds.No);
179
179
  react_native_testing_library_1.fireEvent(button, `onPress`);
@@ -183,7 +183,7 @@ describe(`RecommendationScreen`, () => {
183
183
  });
184
184
  test(`Selecting neutral will set neutral to active`, () => {
185
185
  const props = utils_1.getRecommendationProps();
186
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
186
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
187
187
  const neutral = MoodEnum[MoodEnum.Neutral];
188
188
  const icon = utils_1.getIcon(wrapper, neutral, false);
189
189
  if (icon === null) {
@@ -219,7 +219,7 @@ describe(`RecommendationScreen`, () => {
219
219
  entered: null,
220
220
  suggested: 0,
221
221
  };
222
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
222
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
223
223
  expect(utils_1.queryTextFromComponent(wrapper, enum_1.RecommendedCarbsTestIds.EnteredCarbs)).toBe(`25`);
224
224
  expect(utils_1.queryTextFromComponent(wrapper, enum_1.RecommendedCarbsTestIds.RecommendedCarbs)).toBe(`1`);
225
225
  expect(utils_1.queryTextFromComponent(wrapper, enum_1.RecommendedCarbsTestIds.TotalCarbs)).toBe(`26`);
@@ -271,7 +271,7 @@ describe(`RecommendationScreen`, () => {
271
271
  entered: null,
272
272
  suggested: 0,
273
273
  };
274
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
274
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
275
275
  // Expect text from carbs -> change -> Expect text updated -> Transfer -> Expect callback
276
276
  utils_1.expectTextExists(wrapper, `1`);
277
277
  const removeButton = wrapper.getByTestId(enum_1.RecommendedCarbsTestIds.RemoveRecommendation);
@@ -305,7 +305,7 @@ describe(`RecommendationScreen`, () => {
305
305
  recentBoluses,
306
306
  },
307
307
  });
308
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
308
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
309
309
  if (shown) {
310
310
  return utils_1.expectTextExists(wrapper, `Have you taken insulin within the last 4 hours?`);
311
311
  }
@@ -333,7 +333,7 @@ describe(`RecommendationScreen`, () => {
333
333
  entered: 7,
334
334
  suggested: 2,
335
335
  };
336
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
336
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
337
337
  // Expect text from insulin -> change -> Expect text updated -> Transfer -> Expect callback
338
338
  utils_1.expectTextNotExists(wrapper, `Additional`);
339
339
  utils_1.expectTextNotExists(wrapper, `Transfer to logbook`);
@@ -374,7 +374,7 @@ describe(`RecommendationScreen`, () => {
374
374
  suggested: 2,
375
375
  };
376
376
  const invalidInsulin = 300;
377
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
377
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
378
378
  // Answer "No" to recent insulin
379
379
  const noButton = wrapper.getByTestId(enum_1.RecentInsulinTestIds.No);
380
380
  react_native_testing_library_1.fireEvent(noButton, `onPress`);
@@ -405,7 +405,7 @@ describe(`RecommendationScreen`, () => {
405
405
  activity: null,
406
406
  },
407
407
  });
408
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
408
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
409
409
  // Expect text from insulin -> change -> Expect text updated -> Transfer -> Expect callback
410
410
  const noButton = wrapper.getByTestId(enum_1.RecentInsulinTestIds.No);
411
411
  react_native_testing_library_1.fireEvent(noButton, `onPress`);
@@ -447,12 +447,12 @@ describe(`RecommendationScreen`, () => {
447
447
  const props = utils_1.getRecommendationProps({
448
448
  language: locale,
449
449
  });
450
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
450
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
451
451
  utils_1.expectTextExists(wrapper, text);
452
452
  });
453
453
  test(`Error is thrown when passing an unsupported language`, () => {
454
454
  const props = utils_1.getRecommendationProps();
455
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props} language={`INVALID_LANGUAGE`}/>);
455
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props, { language: `INVALID_LANGUAGE` })));
456
456
  utils_1.expectTextNotExists(wrapper, `INSULIN\nRECOMMENDATION`);
457
457
  expect(props.onError).toBeCalledWith(RecommendationError_1.LanguageError());
458
458
  });
@@ -463,7 +463,7 @@ describe(`RecommendationScreen`, () => {
463
463
  activity: { ...utils_1.generateActivityProps(), activityIntensity: hard, activityDuration: 46 },
464
464
  },
465
465
  });
466
- react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
466
+ react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
467
467
  expect(props.onError).toBeCalledWith(new Error(types_1.BolusCalculator.Enums.ActivityErrors.InvalidInterval));
468
468
  });
469
469
  test.each `
@@ -476,17 +476,17 @@ describe(`RecommendationScreen`, () => {
476
476
  ${types_1.Languages.fr} | ${types_1.Languages.en} | ${`RECOMMANDATION\nD’INSULINE`} | ${`INSULIN\nRECOMMENDATION`}
477
477
  `(`Changing language changes header text; initial-language:$initialLocale to changed-language:$locale`, ({ initialLocale, locale, initialText, text }) => {
478
478
  const props = utils_1.getRecommendationProps({ language: initialLocale });
479
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
479
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
480
480
  utils_1.expectTextExists(wrapper, initialText);
481
481
  utils_1.expectTextNotExists(wrapper, text);
482
482
  i18nUtils_1.i18n.activate(locale);
483
- wrapper.rerender(<RecommendationScreen_1.default {...props}/>);
483
+ wrapper.rerender(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
484
484
  utils_1.expectTextNotExists(wrapper, initialText);
485
485
  utils_1.expectTextExists(wrapper, text);
486
486
  });
487
487
  test(`Timeout callback runs after 15 minutes`, () => {
488
488
  const props = utils_1.getRecommendationProps();
489
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
489
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
490
490
  expect(props.onError).not.toBeCalled();
491
491
  jest.runAllTimers();
492
492
  expect(props.onError).not.toBeCalled();
@@ -501,62 +501,81 @@ describe(`RecommendationScreen`, () => {
501
501
  recentBoluses: [],
502
502
  },
503
503
  });
504
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
504
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
505
505
  utils_1.expectTextExists(wrapper, `INSULIN\nRECOMMENDATION`);
506
506
  utils_1.expectTextExists(wrapper, `0`);
507
507
  });
508
508
  test(`InfoBars behave as expected with BGL & Active Insulin`, () => {
509
+ const { BloodGlucose: BGValueTestID, BloodKetone: BKValueTestID, ActiveInsulin: ActiveInsulinValueTestID, } = enum_1.InfoBarTestIds.Value;
510
+ const { ActiveInsulin: ActiveInsulinUnitTestID } = enum_1.InfoBarTestIds.Unit;
509
511
  const props = {
510
512
  ...utils_1.getRecommendationProps({
511
513
  calculatorParams: {
512
514
  ...utils_1.getRecommendationProps().calculatorParams,
513
- // @ts-ignore
514
515
  currentBGL: null,
515
516
  },
516
517
  }),
517
518
  currentBKL: null,
518
519
  };
519
- // @ts-ignore
520
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
521
- utils_1.expectTextExists(wrapper, /2\./);
522
- expect(wrapper.queryAllByText(`-.-`)).toHaveLength(2);
523
- });
524
- test(`InfoBars displays bgl and ketones in mg/dL`, () => {
520
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
521
+ const shownKetoneValue = utils_1.queryTextFromComponent(wrapper, BKValueTestID);
522
+ const shownGlucoseValue = utils_1.queryTextFromComponent(wrapper, BGValueTestID);
523
+ const shownActiveInsulinValue = utils_1.queryTextFromComponent(wrapper, ActiveInsulinValueTestID);
524
+ const shownActiveInsulinUnit = utils_1.queryTextFromComponent(wrapper, ActiveInsulinUnitTestID);
525
+ expect(shownKetoneValue).toBe(`-.-`);
526
+ expect(shownGlucoseValue).toBe(`-.-`);
527
+ expect(shownActiveInsulinValue).not.toBe(`0`);
528
+ expect(shownActiveInsulinUnit).toBe(`units`);
529
+ });
530
+ test(`InfoBars displays bgl and ketones in mg/dL`, () => {
531
+ const { BloodGlucose: BGValueTestID, BloodKetone: BKValueTestID } = enum_1.InfoBarTestIds.Value;
532
+ const { BloodGlucose: BGUnitTestID, BloodKetone: BKUnitTestID } = enum_1.InfoBarTestIds.Unit;
525
533
  const props = utils_1.getRecommendationProps({
526
- calculatorParams: {
527
- ...utils_1.getRecommendationProps().calculatorParams,
528
- currentBGL: 1.1,
529
- },
530
534
  bloodGlucoseUnit: types_1.BloodGlucoseUnit.MG_DL,
531
535
  bloodKetoneUnit: types_1.BloodKetonesUnit.MG_DL,
532
536
  });
533
- const bklMGDL = Utils_1.Utils.convertBKLToMGDL(props.currentBKL);
534
- const bglMGDL = Utils_1.Utils.convertBGLToMGDL(props.calculatorParams.currentBGL);
535
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
536
- utils_1.expectTextExists(wrapper, /2\./);
537
- utils_1.expectTextExists(wrapper, `${bglMGDL}`);
538
- utils_1.expectTextExists(wrapper, `${bklMGDL}`);
537
+ const { currentBKL, calculatorParams: { currentBGL }, } = props;
538
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
539
+ const shownKetoneUnit = utils_1.queryTextFromComponent(wrapper, BKUnitTestID);
540
+ const shownKetoneValue = utils_1.queryTextFromComponent(wrapper, BKValueTestID);
541
+ const bklMGDL = Utils_1.Utils.convertBKLToMGDL(currentBKL);
542
+ expect(shownKetoneUnit).toBe(`mg/dL`);
543
+ expect(shownKetoneValue).toBe(`${bklMGDL}`);
544
+ const shownGlucoseUnit = utils_1.queryTextFromComponent(wrapper, BGUnitTestID);
545
+ const shownGlucoseValue = utils_1.queryTextFromComponent(wrapper, BGValueTestID);
546
+ const bglMGDL = Utils_1.Utils.convertBGLToMGDL(currentBGL);
547
+ expect(shownGlucoseUnit).toBe(`mg/dL`);
548
+ expect(shownGlucoseValue).toBe(`${bglMGDL}`);
539
549
  });
540
550
  test(`InfoBars displays negative level currentBKL as 0`, () => {
551
+ const { BloodKetone: BKValueTestID } = enum_1.InfoBarTestIds.Value;
552
+ const { BloodKetone: BKUnitTestID } = enum_1.InfoBarTestIds.Unit;
541
553
  const props = utils_1.getRecommendationProps({
542
- calculatorParams: {
543
- ...utils_1.getRecommendationProps().calculatorParams,
544
- currentBGL: 33,
545
- carbohydrates: 1,
546
- },
547
554
  currentBKL: 0,
548
555
  bloodKetoneUnit: types_1.BloodKetonesUnit.MG_DL,
549
556
  });
550
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
551
- utils_1.expectTextExists(wrapper, `0`);
552
- utils_1.expectTextNotExists(wrapper, `-`);
553
- });
554
- test(`Can display with undefined activityDisplayProps`, () => {
557
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
558
+ const shownKetoneUnit = utils_1.queryTextFromComponent(wrapper, BKUnitTestID);
559
+ const shownKetoneValue = utils_1.queryTextFromComponent(wrapper, BKValueTestID);
560
+ expect(shownKetoneValue).toBe(`0`);
561
+ expect(shownKetoneUnit).toBe(`mg/dL`);
562
+ });
563
+ test(`InfoBars displays null curentBKL and null BloodKetoneUnit as -`, () => {
564
+ const { BloodKetone: BKValueTestID } = enum_1.InfoBarTestIds.Value;
565
+ const { BloodKetone: BKUnitTestID } = enum_1.InfoBarTestIds.Unit;
566
+ const props = { ...utils_1.getRecommendationProps(), currentBKL: null, bloodKetoneUnit: null };
567
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
568
+ const shownKetoneUnit = utils_1.queryTextFromComponent(wrapper, BKUnitTestID);
569
+ const shownKetoneValue = utils_1.queryTextFromComponent(wrapper, BKValueTestID);
570
+ expect(shownKetoneUnit).toBe(``);
571
+ expect(shownKetoneValue).toBe(`-`);
572
+ });
573
+ test(`Can display with null activityDisplayProps`, () => {
555
574
  const props = utils_1.getRecommendationProps({
556
575
  calculatorParams: utils_1.getRecommendationProps().calculatorParams,
557
- activityDisplayProps: undefined,
576
+ activityDisplayProps: null,
558
577
  });
559
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
578
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
560
579
  utils_1.expectTextExists(wrapper, `INSULIN\nRECOMMENDATION`);
561
580
  const shownInsulin = utils_1.queryTextFromComponent(wrapper, enum_1.RecommendedInsulinTestIds.ShownInsulinText);
562
581
  expect(shownInsulin).toBe(`0`);
@@ -577,12 +596,12 @@ describe(`RecommendationScreen`, () => {
577
596
  },
578
597
  },
579
598
  });
580
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
599
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
581
600
  const englishText = Translations_1.ActivityIntensityTranslations[intensity]();
582
601
  utils_1.expectTextExists(wrapper, englishText);
583
602
  utils_1.expectTextNotExists(wrapper, translation);
584
603
  i18nUtils_1.i18n.activate(types_1.Languages.da);
585
- wrapper.rerender(<RecommendationScreen_1.default {...props}/>);
604
+ wrapper.rerender(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
586
605
  utils_1.expectTextExists(wrapper, translation);
587
606
  utils_1.expectTextNotExists(wrapper, englishText);
588
607
  });
@@ -602,7 +621,7 @@ describe(`RecommendationScreen`, () => {
602
621
  carbRecommendationAnswer,
603
622
  });
604
623
  // Render the screen, expecting a carb recommendation modal.
605
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
624
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
606
625
  utils_1.expectTextExists(wrapper, `We recommend eating an additional:`);
607
626
  // Get the yes button from the modal
608
627
  const yesButton = wrapper.getByTestId(enum_1.RecommendationModalTestIds.AcceptCarbs);
@@ -642,7 +661,7 @@ describe(`Recommendation Screen - RecommendationModal related tests`, () => {
642
661
  userReminder: 5,
643
662
  carbRecommendationAnswer,
644
663
  });
645
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
664
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
646
665
  const noButton = wrapper.getByTestId(enum_1.RecommendationModalTestIds.DeclineCarbs);
647
666
  react_native_testing_library_1.fireEvent(noButton, `onPress`);
648
667
  expect(carbRecommendationAnswer).toBeCalledWith(false);
@@ -664,7 +683,7 @@ describe(`Recommendation Screen - RecommendationModal related tests`, () => {
664
683
  userReminder: 5,
665
684
  carbRecommendationAnswer,
666
685
  });
667
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
686
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
668
687
  utils_1.expectTextExists(wrapper, `We recommend eating an additional:`);
669
688
  const yesButton = wrapper.getByTestId(enum_1.RecommendationModalTestIds.AcceptCarbs);
670
689
  react_native_testing_library_1.fireEvent(yesButton, `onPress`);
@@ -686,7 +705,7 @@ describe(`Recommendation Screen - RecommendationModal related tests`, () => {
686
705
  },
687
706
  userReminder: 5,
688
707
  });
689
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
708
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
690
709
  const nextButton = wrapper.getByTestId(enum_1.LimitationMessageTestIds.OkButton);
691
710
  react_native_testing_library_1.fireEvent(nextButton, `onPress`);
692
711
  const yesButton = wrapper.getByTestId(enum_1.RecommendationModalTestIds.OkButton);
@@ -700,7 +719,7 @@ describe(`Recommendation Screen - RecommendationModal related tests`, () => {
700
719
  describe(`Recommendation Screen - TwoOptionModal related tests`, () => {
701
720
  test(`Save to logbook from ExitModal option`, () => {
702
721
  const props = utils_1.getRecommendationProps();
703
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
722
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
704
723
  //press exit button
705
724
  const exitButton = wrapper.getByTestId(enum_1.HeaderTestIds.ExitCalculation);
706
725
  react_native_testing_library_1.fireEvent(exitButton, `onPress`);
@@ -713,7 +732,7 @@ describe(`Recommendation Screen - TwoOptionModal related tests`, () => {
713
732
  });
714
733
  test(`Close calculation callback from ExitModal option`, () => {
715
734
  const props = utils_1.getRecommendationProps();
716
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
735
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
717
736
  //press exit button
718
737
  const exitButton = wrapper.getByTestId(enum_1.HeaderTestIds.ExitCalculation);
719
738
  react_native_testing_library_1.fireEvent(exitButton, `onPress`);
@@ -728,7 +747,7 @@ describe(`Recommendation Screen - TwoOptionModal related tests`, () => {
728
747
  const props = utils_1.getRecommendationProps({
729
748
  calculatorParams: { ...utils_1.generateDefaultCalculatorParams(), recentBoluses: [] },
730
749
  });
731
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
750
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
732
751
  const exitButton = wrapper.getByTestId(enum_1.HeaderTestIds.ExitCalculation);
733
752
  react_native_testing_library_1.fireEvent(exitButton, `onPress`);
734
753
  utils_1.expectTextExists(wrapper, `Have you taken insulin within the last 4 hours?`);
@@ -737,7 +756,7 @@ describe(`Recommendation Screen - TwoOptionModal related tests`, () => {
737
756
  });
738
757
  test(`Test triggering on/off the ExitModal`, async () => {
739
758
  const props = utils_1.getRecommendationProps();
740
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
759
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
741
760
  const exitButton = wrapper.getByTestId(enum_1.HeaderTestIds.ExitCalculation);
742
761
  react_native_testing_library_1.fireEvent(exitButton, `onPress`);
743
762
  expect(props.showBolusBar).toBeCalledWith(false);
@@ -751,7 +770,7 @@ describe(`Recommendation Screen - TwoOptionModal related tests`, () => {
751
770
  });
752
771
  test(`Can translate ExitModal option`, () => {
753
772
  const props = utils_1.getRecommendationProps({ language: types_1.Languages.da });
754
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
773
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
755
774
  //press exit button
756
775
  const exitButton = wrapper.getByTestId(enum_1.HeaderTestIds.ExitCalculation);
757
776
  react_native_testing_library_1.fireEvent(exitButton, `onPress`);
@@ -763,7 +782,7 @@ describe(`Recommendation Screen - TwoOptionModal related tests`, () => {
763
782
  });
764
783
  test(`Test TimeoutModal first option WITH recommendation visible`, () => {
765
784
  const props = utils_1.getRecommendationProps();
766
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
785
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
767
786
  expect(props.onError).not.toBeCalled();
768
787
  jest.runAllTimers();
769
788
  expect(props.onError).not.toBeCalled();
@@ -774,7 +793,7 @@ describe(`Recommendation Screen - TwoOptionModal related tests`, () => {
774
793
  utils_1.expectTextExists(wrapper, `Yes, save to logbook`);
775
794
  utils_1.expectTextExists(wrapper, `No, return to dashboard`);
776
795
  i18nUtils_1.i18n.activate(types_1.Languages.da);
777
- wrapper.rerender(<RecommendationScreen_1.default {...props}/>);
796
+ wrapper.rerender(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
778
797
  jest.runAllTimers();
779
798
  utils_1.expectTextExists(wrapper, `Der er gået mere end 15 minutter siden udregningen blev startet.`);
780
799
  const saveToLogbook = wrapper.getByTestId(enum_1.TwoOptionModalTestIds.FirstOption);
@@ -783,7 +802,7 @@ describe(`Recommendation Screen - TwoOptionModal related tests`, () => {
783
802
  });
784
803
  test(`Test TimeoutModal second option WITH recommendation visible`, () => {
785
804
  const props = utils_1.getRecommendationProps();
786
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
805
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
787
806
  expect(props.onError).not.toBeCalled();
788
807
  jest.runAllTimers();
789
808
  expect(props.onError).not.toBeCalled();
@@ -801,7 +820,7 @@ describe(`Recommendation Screen - TwoOptionModal related tests`, () => {
801
820
  const props = utils_1.getRecommendationProps({
802
821
  calculatorParams: { ...utils_1.generateDefaultCalculatorParams(), recentBoluses: [] },
803
822
  });
804
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
823
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
805
824
  expect(props.onError).not.toBeCalled();
806
825
  jest.runAllTimers();
807
826
  expect(props.onError).not.toBeCalled();
@@ -821,7 +840,7 @@ describe(`Recommendation Screen - TwoOptionModal related tests`, () => {
821
840
  const props = utils_1.getRecommendationProps({
822
841
  calculatorParams: { ...utils_1.generateDefaultCalculatorParams(), recentBoluses: [] },
823
842
  });
824
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
843
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
825
844
  expect(props.onError).not.toBeCalled();
826
845
  jest.runAllTimers();
827
846
  expect(props.onError).not.toBeCalled();
@@ -832,7 +851,7 @@ describe(`Recommendation Screen - TwoOptionModal related tests`, () => {
832
851
  utils_1.expectTextExists(wrapper, `Start new calculation`);
833
852
  utils_1.expectTextExists(wrapper, `Return to dashboard`);
834
853
  i18nUtils_1.i18n.activate(types_1.Languages.da);
835
- wrapper.rerender(<RecommendationScreen_1.default {...props}/>);
854
+ wrapper.rerender(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
836
855
  jest.runAllTimers();
837
856
  utils_1.expectTextExists(wrapper, `Der er gået mere end 15 minutter siden udregningen blev startet.`);
838
857
  const returnToDashboard = wrapper.getByTestId(enum_1.TwoOptionModalTestIds.FirstOption);
@@ -853,25 +872,25 @@ describe(`Recommendation Screen - TwoOptionModal related tests`, () => {
853
872
  addEventListener: getMockAppStateListener,
854
873
  removeEventListener: jest.fn(),
855
874
  }));
856
- const wrapper = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
875
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
857
876
  // @ts-ignore
858
877
  appStateListener?.(`active`);
859
878
  // Run twice to test else path
860
879
  global.Date.now = () => new Date().getTime() + types_1.Milliseconds.Minute * 14;
861
880
  // @ts-ignore
862
881
  appStateListener?.(`active`);
863
- wrapper.rerender(<RecommendationScreen_1.default {...props}/>);
882
+ wrapper.rerender(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
864
883
  expect(props.showBolusBar).not.toBeCalledWith(false);
865
884
  utils_1.expectTextNotExists(wrapper, `No, return to dashboard`);
866
885
  global.Date.now = () => new Date().getTime() + types_1.Milliseconds.Minute * 15;
867
886
  // @ts-ignore
868
887
  appStateListener(`active`);
869
- wrapper.rerender(<RecommendationScreen_1.default {...props}/>);
888
+ wrapper.rerender(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
870
889
  expect(props.showBolusBar).toBeCalledWith(false);
871
890
  utils_1.expectTextExists(wrapper, `No, return to dashboard`);
872
891
  const closeModalButton = wrapper.getByTestId(enum_1.TwoOptionModalTestIds.SecondOption);
873
892
  react_native_testing_library_1.fireEvent(closeModalButton, `secondOption`);
874
- wrapper.rerender(<RecommendationScreen_1.default {...props}/>);
893
+ wrapper.rerender(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
875
894
  utils_1.expectTextNotExists(wrapper, `No, return to dashboard`);
876
895
  expect(props.showBolusBar).toBeCalledWith(true);
877
896
  });
@@ -888,10 +907,10 @@ describe(`Recommendation Screen - TwoOptionModal related tests`, () => {
888
907
  addEventListener: getMockAppStateListener,
889
908
  removeEventListener: jest.fn(),
890
909
  }));
891
- const rendered = react_native_testing_library_1.render(<RecommendationScreen_1.default {...props}/>);
910
+ const rendered = react_native_testing_library_1.render(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
892
911
  // @ts-ignore
893
912
  appStateListener(`NotAnAppStateStatus`);
894
- rendered.rerender(<RecommendationScreen_1.default {...props}/>);
913
+ rendered.rerender(react_1.default.createElement(RecommendationScreen_1.default, Object.assign({}, props)));
895
914
  expect(props.showBolusBar).not.toBeCalled();
896
915
  utils_1.expectTextNotExists(rendered, `No, return to dashboard`);
897
916
  });
@@ -60,10 +60,28 @@ describe(`Test validations functions for the recommendation props`, () => {
60
60
  `(`Validation checking on invalid blood glucose unit types $invalidUnit throws error`, ({ invalidUnit }) => {
61
61
  expect(() => Validations.checkBGLUnit(invalidUnit)).toThrowError(Errors.BloodGlucoseUnitError());
62
62
  });
63
+ test.each `
64
+ validKetoneProps
65
+ ${{ bloodKetoneUnit: types_1.BloodKetonesUnit.MG_DL, currentBKL: 0 }}
66
+ ${{ bloodKetoneUnit: types_1.BloodKetonesUnit.MMOL_L, currentBKL: null }}
67
+ ${{ bloodKetoneUnit: null, currentBKL: null }}
68
+ `(`Validation checking on valid blood ketones props $validKetoneProps`, ({ validKetoneProps }) => {
69
+ const { bloodKetoneUnit, currentBKL } = validKetoneProps;
70
+ expect(() => Validations.checkBKProps(bloodKetoneUnit, currentBKL)).not.toThrowError(Errors.BloodKetonePropsError());
71
+ });
72
+ test.each `
73
+ invalidKetoneProps
74
+ ${{ bloodKetoneUnit: null, currentBKL: 0 }}
75
+ ${{ bloodKetoneUnit: null, currentBKL: 8 }}
76
+ `(`Validation checking on invalid blood ketones props $invalidKetoneProps`, ({ invalidKetoneProps }) => {
77
+ const { bloodKetoneUnit, currentBKL } = invalidKetoneProps;
78
+ expect(() => Validations.checkBKProps(bloodKetoneUnit, currentBKL)).toThrowError(Errors.BloodKetonePropsError());
79
+ });
63
80
  test.each `
64
81
  validUnit
65
82
  ${types_1.BloodKetonesUnit.MG_DL}
66
83
  ${types_1.BloodKetonesUnit.MMOL_L}
84
+ ${null}
67
85
  `(`Validation checking on blood ketones unit types $validUnit`, ({ validUnit }) => {
68
86
  expect(() => Validations.checkBKLUnit(validUnit)).not.toThrowError(Errors.BloodKetoneUnitError());
69
87
  });
@@ -27,7 +27,7 @@ describe(`Activity - Component`, () => {
27
27
  `(`Renders $activityIntensity`, ({ activityIntensity }) => {
28
28
  const { activityDisplayProps } = utils_1.getRecommendationProps();
29
29
  const activity = utils_1.generateActivityProps();
30
- const wrapper = react_native_testing_library_1.render(utils_1.i18nProvided(<Activity_1.default activity={{ ...activity, activityIntensity }} activityType={activityDisplayProps?.activityType ?? null} activityTitle={activityDisplayProps?.activityTitle ?? null} activityReduction={0}/>));
30
+ const wrapper = react_native_testing_library_1.render(utils_1.i18nProvided(react_2.default.createElement(Activity_1.default, { activity: { ...activity, activityIntensity }, activityType: activityDisplayProps?.activityType ?? null, activityTitle: activityDisplayProps?.activityTitle ?? null, activityReduction: 0 })));
31
31
  utils_1.expectTextExists(wrapper, `Activity`);
32
32
  utils_1.expectTextExists(wrapper, `30`);
33
33
  utils_1.expectTextExists(wrapper, `min`);
@@ -44,21 +44,21 @@ describe(`Activity - Component`, () => {
44
44
  `(`Renders activity reduction from decimal: $reduction to percentage`, ({ reduction }) => {
45
45
  const { activityDisplayProps } = utils_1.getRecommendationProps();
46
46
  const activity = utils_1.generateActivityProps();
47
- const wrapper = react_native_testing_library_1.render(utils_1.i18nProvided(<Activity_1.default activity={activity} activityType={activityDisplayProps?.activityType ?? null} activityReduction={reduction} activityTitle={activityDisplayProps?.activityTitle ?? null}/>));
47
+ const wrapper = react_native_testing_library_1.render(utils_1.i18nProvided(react_2.default.createElement(Activity_1.default, { activity: activity, activityType: activityDisplayProps?.activityType ?? null, activityReduction: reduction, activityTitle: activityDisplayProps?.activityTitle ?? null })));
48
48
  utils_1.expectTextExists(wrapper, `${reduction * 100}%`);
49
49
  });
50
50
  test(`Renders activity reduction as 0 when null is passed`, () => {
51
51
  const { activityDisplayProps } = utils_1.getRecommendationProps();
52
52
  const activity = utils_1.generateActivityProps();
53
53
  const reduction = null;
54
- const wrapper = react_native_testing_library_1.render(utils_1.i18nProvided(<Activity_1.default activity={activity} activityType={activityDisplayProps?.activityType ?? null} activityReduction={reduction} activityTitle={activityDisplayProps?.activityTitle ?? null}/>));
54
+ const wrapper = react_native_testing_library_1.render(utils_1.i18nProvided(react_2.default.createElement(Activity_1.default, { activity: activity, activityType: activityDisplayProps?.activityType ?? null, activityReduction: reduction, activityTitle: activityDisplayProps?.activityTitle ?? null })));
55
55
  const text = utils_1.queryTextFromComponent(wrapper, enum_1.ActivityTestIds.ActivityReduction);
56
56
  expect(text).toBe(`0%`);
57
57
  });
58
58
  test(`Can render activity title`, () => {
59
59
  const { activityDisplayProps } = utils_1.getRecommendationProps();
60
60
  const activity = utils_1.generateActivityProps();
61
- const wrapper = react_native_testing_library_1.render(utils_1.i18nProvided(<Activity_1.default activity={{ ...activity }} activityType={activityDisplayProps?.activityType ?? null} activityTitle={activityDisplayProps?.activityTitle ?? null} activityReduction={0}/>));
61
+ const wrapper = react_native_testing_library_1.render(utils_1.i18nProvided(react_2.default.createElement(Activity_1.default, { activity: { ...activity }, activityType: activityDisplayProps?.activityType ?? null, activityTitle: activityDisplayProps?.activityTitle ?? null, activityReduction: 0 })));
62
62
  utils_1.expectTextExists(wrapper, activityDisplayProps?.activityTitle);
63
63
  });
64
64
  test.each `
@@ -73,15 +73,14 @@ describe(`Activity - Component`, () => {
73
73
  const { activityDisplayProps } = utils_1.getRecommendationProps();
74
74
  const activity = utils_1.generateActivityProps();
75
75
  i18nUtils_1.i18n.activate(locale);
76
- const wrapper = react_native_testing_library_1.render(<react_1.I18nProvider language={locale} i18n={i18nUtils_1.i18n}>
77
- <Activity_1.default activity={activity} activityType={activityDisplayProps?.activityType ?? null} activityTitle={activityDisplayProps?.activityTitle ?? null} activityReduction={0}/>
78
- </react_1.I18nProvider>);
76
+ const wrapper = react_native_testing_library_1.render(react_2.default.createElement(react_1.I18nProvider, { language: locale, i18n: i18nUtils_1.i18n },
77
+ react_2.default.createElement(Activity_1.default, { activity: activity, activityType: activityDisplayProps?.activityType ?? null, activityTitle: activityDisplayProps?.activityTitle ?? null, activityReduction: 0 })));
79
78
  utils_1.expectTextExists(wrapper, message);
80
79
  });
81
80
  test(`ActivityIcon defaults to other if activityType is null`, () => {
82
81
  const { activityDisplayProps } = utils_1.getRecommendationProps();
83
82
  const activity = utils_1.generateActivityProps();
84
- const wrapper = react_native_testing_library_1.render(utils_1.i18nProvided(<Activity_1.default activity={{ ...activity }} activityType={null} activityTitle={activityDisplayProps?.activityTitle ?? null} activityReduction={0}/>));
83
+ const wrapper = react_native_testing_library_1.render(utils_1.i18nProvided(react_2.default.createElement(Activity_1.default, { activity: { ...activity }, activityType: null, activityTitle: activityDisplayProps?.activityTitle ?? null, activityReduction: 0 })));
85
84
  utils_1.expectTextExists(wrapper, activityDisplayProps?.activityTitle);
86
85
  const existingLabel = `${types_1.Activity.Enums.ActivityEnum[types_1.Activity.Enums.ActivityEnum.Other]}_activity`;
87
86
  const nonExistingLabel = `${types_1.Activity.Enums.ActivityEnum[types_1.Activity.Enums.ActivityEnum.Run]}_activity`;
@@ -17,7 +17,7 @@ describe(`Emotion - Component`, () => {
17
17
  });
18
18
  test(`Can mount component in `, () => {
19
19
  const mockSelected = jest.fn();
20
- const wrapper = react_native_testing_library_1.render(utils_1.i18nProvided(<Emotion_1.default moodSelected={mockSelected} currentMood={null}/>));
20
+ const wrapper = react_native_testing_library_1.render(utils_1.i18nProvided(react_1.default.createElement(Emotion_1.default, { moodSelected: mockSelected, currentMood: null })));
21
21
  utils_1.expectTextExists(wrapper, `How are you feeling?`);
22
22
  });
23
23
  test.each `
@@ -30,7 +30,7 @@ describe(`Emotion - Component`, () => {
30
30
  `(`Pressing on $moodName icon deselects others`, ({ mood, moodName, preselected, preselectedName, }) => {
31
31
  let mockedStateMood = preselected;
32
32
  const mockSelected = jest.fn((selectedMood) => (mockedStateMood = selectedMood));
33
- const wrapper = react_native_testing_library_1.render(<Emotion_1.default moodSelected={mockSelected} currentMood={mockedStateMood}/>);
33
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(Emotion_1.default, { moodSelected: mockSelected, currentMood: mockedStateMood }));
34
34
  const preIcon = utils_1.getIcon(wrapper, preselectedName, true);
35
35
  if (preIcon === null) {
36
36
  return fail(`No icon found for queryByA11yLabel: ${preselectedName}_${true}`);
@@ -42,7 +42,7 @@ describe(`Emotion - Component`, () => {
42
42
  // Select a different mood
43
43
  react_native_testing_library_1.fireEvent(newIcon, `onPress`);
44
44
  expect(mockedStateMood).toBe(mood);
45
- wrapper.update(<Emotion_1.default moodSelected={mockSelected} currentMood={mockedStateMood}/>);
45
+ wrapper.update(react_1.default.createElement(Emotion_1.default, { moodSelected: mockSelected, currentMood: mockedStateMood }));
46
46
  const moodValues = Object.values(MoodEnum).filter((value) => typeof value === `string`);
47
47
  moodValues.forEach((value) => {
48
48
  if (moodName === value) {
@@ -59,7 +59,7 @@ describe(`Emotion - Component`, () => {
59
59
  let mockedStateMood = MoodEnum.Happy;
60
60
  const mockSelected = jest.fn((newMood) => (mockedStateMood = newMood));
61
61
  const mood = MoodEnum[mockedStateMood];
62
- const wrapper = react_native_testing_library_1.render(<Emotion_1.default moodSelected={mockSelected} currentMood={mockedStateMood}/>);
62
+ const wrapper = react_native_testing_library_1.render(react_1.default.createElement(Emotion_1.default, { moodSelected: mockSelected, currentMood: mockedStateMood }));
63
63
  // current mood has already been selected: Happy
64
64
  expect(utils_1.getIcon(wrapper, mood, true)).not.toBeNull();
65
65
  expect(utils_1.getIcon(wrapper, mood, false)).toBeNull();
@@ -68,7 +68,7 @@ describe(`Emotion - Component`, () => {
68
68
  return fail(`No icon found for queryByA11yLabel: ${mood}_${true}`);
69
69
  }
70
70
  react_native_testing_library_1.fireEvent(icon, `onPress`);
71
- wrapper.update(<Emotion_1.default moodSelected={mockSelected} currentMood={mockedStateMood}/>);
71
+ wrapper.update(react_1.default.createElement(Emotion_1.default, { moodSelected: mockSelected, currentMood: mockedStateMood }));
72
72
  expect(utils_1.getIcon(wrapper, mood, true)).toBeNull();
73
73
  expect(utils_1.getIcon(wrapper, mood, false)).not.toBeNull();
74
74
  });