react-native-timer-picker 2.4.0 → 2.6.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 (171) hide show
  1. package/README.md +35 -25
  2. package/package.json +143 -126
  3. package/dist/commonjs/components/DurationScroll/DurationScroll.js +0 -403
  4. package/dist/commonjs/components/DurationScroll/DurationScroll.js.map +0 -1
  5. package/dist/commonjs/components/DurationScroll/index.js +0 -27
  6. package/dist/commonjs/components/DurationScroll/index.js.map +0 -1
  7. package/dist/commonjs/components/DurationScroll/types.js +0 -6
  8. package/dist/commonjs/components/DurationScroll/types.js.map +0 -1
  9. package/dist/commonjs/components/Modal/Modal.js +0 -107
  10. package/dist/commonjs/components/Modal/Modal.js.map +0 -1
  11. package/dist/commonjs/components/Modal/index.js +0 -27
  12. package/dist/commonjs/components/Modal/index.js.map +0 -1
  13. package/dist/commonjs/components/Modal/styles.js +0 -25
  14. package/dist/commonjs/components/Modal/styles.js.map +0 -1
  15. package/dist/commonjs/components/Modal/types.js +0 -6
  16. package/dist/commonjs/components/Modal/types.js.map +0 -1
  17. package/dist/commonjs/components/PickerItem/PickerItem.js +0 -45
  18. package/dist/commonjs/components/PickerItem/PickerItem.js.map +0 -1
  19. package/dist/commonjs/components/PickerItem/index.js +0 -14
  20. package/dist/commonjs/components/PickerItem/index.js.map +0 -1
  21. package/dist/commonjs/components/TimerPicker/TimerPicker.js +0 -236
  22. package/dist/commonjs/components/TimerPicker/TimerPicker.js.map +0 -1
  23. package/dist/commonjs/components/TimerPicker/index.js +0 -39
  24. package/dist/commonjs/components/TimerPicker/index.js.map +0 -1
  25. package/dist/commonjs/components/TimerPicker/styles.js +0 -121
  26. package/dist/commonjs/components/TimerPicker/styles.js.map +0 -1
  27. package/dist/commonjs/components/TimerPicker/types.js +0 -6
  28. package/dist/commonjs/components/TimerPicker/types.js.map +0 -1
  29. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js +0 -153
  30. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js.map +0 -1
  31. package/dist/commonjs/components/TimerPickerModal/index.js +0 -39
  32. package/dist/commonjs/components/TimerPickerModal/index.js.map +0 -1
  33. package/dist/commonjs/components/TimerPickerModal/styles.js +0 -89
  34. package/dist/commonjs/components/TimerPickerModal/styles.js.map +0 -1
  35. package/dist/commonjs/components/TimerPickerModal/types.js +0 -6
  36. package/dist/commonjs/components/TimerPickerModal/types.js.map +0 -1
  37. package/dist/commonjs/index.js +0 -57
  38. package/dist/commonjs/index.js.map +0 -1
  39. package/dist/commonjs/tests/DurationScroll.test.js +0 -163
  40. package/dist/commonjs/tests/DurationScroll.test.js.map +0 -1
  41. package/dist/commonjs/tests/Modal.test.js +0 -119
  42. package/dist/commonjs/tests/Modal.test.js.map +0 -1
  43. package/dist/commonjs/tests/TimerPicker.test.js +0 -169
  44. package/dist/commonjs/tests/TimerPicker.test.js.map +0 -1
  45. package/dist/commonjs/tests/TimerPickerModal.test.js +0 -276
  46. package/dist/commonjs/tests/TimerPickerModal.test.js.map +0 -1
  47. package/dist/commonjs/tests/colorToRgba.test.js +0 -176
  48. package/dist/commonjs/tests/colorToRgba.test.js.map +0 -1
  49. package/dist/commonjs/tests/generateNumbers.test.js +0 -350
  50. package/dist/commonjs/tests/generateNumbers.test.js.map +0 -1
  51. package/dist/commonjs/tests/getAdjustedLimit.test.js +0 -324
  52. package/dist/commonjs/tests/getAdjustedLimit.test.js.map +0 -1
  53. package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js +0 -424
  54. package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js.map +0 -1
  55. package/dist/commonjs/tests/getInitialScrollIndex.test.js +0 -396
  56. package/dist/commonjs/tests/getInitialScrollIndex.test.js.map +0 -1
  57. package/dist/commonjs/tests/getSafeInitialValue.test.js +0 -497
  58. package/dist/commonjs/tests/getSafeInitialValue.test.js.map +0 -1
  59. package/dist/commonjs/tests/padNumber.test.js +0 -301
  60. package/dist/commonjs/tests/padNumber.test.js.map +0 -1
  61. package/dist/commonjs/utils/colorToRgba.js +0 -87
  62. package/dist/commonjs/utils/colorToRgba.js.map +0 -1
  63. package/dist/commonjs/utils/generateNumbers.js +0 -124
  64. package/dist/commonjs/utils/generateNumbers.js.map +0 -1
  65. package/dist/commonjs/utils/getAdjustedLimit.js +0 -58
  66. package/dist/commonjs/utils/getAdjustedLimit.js.map +0 -1
  67. package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js +0 -62
  68. package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js.map +0 -1
  69. package/dist/commonjs/utils/getInitialScrollIndex.js +0 -57
  70. package/dist/commonjs/utils/getInitialScrollIndex.js.map +0 -1
  71. package/dist/commonjs/utils/getSafeInitialValue.js +0 -41
  72. package/dist/commonjs/utils/getSafeInitialValue.js.map +0 -1
  73. package/dist/commonjs/utils/padNumber.js +0 -40
  74. package/dist/commonjs/utils/padNumber.js.map +0 -1
  75. package/dist/module/components/DurationScroll/DurationScroll.js +0 -395
  76. package/dist/module/components/DurationScroll/DurationScroll.js.map +0 -1
  77. package/dist/module/components/DurationScroll/index.js +0 -3
  78. package/dist/module/components/DurationScroll/index.js.map +0 -1
  79. package/dist/module/components/DurationScroll/types.js +0 -2
  80. package/dist/module/components/DurationScroll/types.js.map +0 -1
  81. package/dist/module/components/Modal/Modal.js +0 -99
  82. package/dist/module/components/Modal/Modal.js.map +0 -1
  83. package/dist/module/components/Modal/index.js +0 -3
  84. package/dist/module/components/Modal/index.js.map +0 -1
  85. package/dist/module/components/Modal/styles.js +0 -19
  86. package/dist/module/components/Modal/styles.js.map +0 -1
  87. package/dist/module/components/Modal/types.js +0 -2
  88. package/dist/module/components/Modal/types.js.map +0 -1
  89. package/dist/module/components/PickerItem/PickerItem.js +0 -38
  90. package/dist/module/components/PickerItem/PickerItem.js.map +0 -1
  91. package/dist/module/components/PickerItem/index.js +0 -2
  92. package/dist/module/components/PickerItem/index.js.map +0 -1
  93. package/dist/module/components/TimerPicker/TimerPicker.js +0 -228
  94. package/dist/module/components/TimerPicker/TimerPicker.js.map +0 -1
  95. package/dist/module/components/TimerPicker/index.js +0 -4
  96. package/dist/module/components/TimerPicker/index.js.map +0 -1
  97. package/dist/module/components/TimerPicker/styles.js +0 -114
  98. package/dist/module/components/TimerPicker/styles.js.map +0 -1
  99. package/dist/module/components/TimerPicker/types.js +0 -2
  100. package/dist/module/components/TimerPicker/types.js.map +0 -1
  101. package/dist/module/components/TimerPickerModal/TimerPickerModal.js +0 -145
  102. package/dist/module/components/TimerPickerModal/TimerPickerModal.js.map +0 -1
  103. package/dist/module/components/TimerPickerModal/index.js +0 -4
  104. package/dist/module/components/TimerPickerModal/index.js.map +0 -1
  105. package/dist/module/components/TimerPickerModal/styles.js +0 -82
  106. package/dist/module/components/TimerPickerModal/styles.js.map +0 -1
  107. package/dist/module/components/TimerPickerModal/types.js +0 -2
  108. package/dist/module/components/TimerPickerModal/types.js.map +0 -1
  109. package/dist/module/index.js +0 -3
  110. package/dist/module/index.js.map +0 -1
  111. package/dist/module/tests/DurationScroll.test.js +0 -160
  112. package/dist/module/tests/DurationScroll.test.js.map +0 -1
  113. package/dist/module/tests/Modal.test.js +0 -116
  114. package/dist/module/tests/Modal.test.js.map +0 -1
  115. package/dist/module/tests/TimerPicker.test.js +0 -166
  116. package/dist/module/tests/TimerPicker.test.js.map +0 -1
  117. package/dist/module/tests/TimerPickerModal.test.js +0 -273
  118. package/dist/module/tests/TimerPickerModal.test.js.map +0 -1
  119. package/dist/module/tests/colorToRgba.test.js +0 -174
  120. package/dist/module/tests/colorToRgba.test.js.map +0 -1
  121. package/dist/module/tests/generateNumbers.test.js +0 -348
  122. package/dist/module/tests/generateNumbers.test.js.map +0 -1
  123. package/dist/module/tests/getAdjustedLimit.test.js +0 -322
  124. package/dist/module/tests/getAdjustedLimit.test.js.map +0 -1
  125. package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js +0 -422
  126. package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js.map +0 -1
  127. package/dist/module/tests/getInitialScrollIndex.test.js +0 -394
  128. package/dist/module/tests/getInitialScrollIndex.test.js.map +0 -1
  129. package/dist/module/tests/getSafeInitialValue.test.js +0 -495
  130. package/dist/module/tests/getSafeInitialValue.test.js.map +0 -1
  131. package/dist/module/tests/padNumber.test.js +0 -299
  132. package/dist/module/tests/padNumber.test.js.map +0 -1
  133. package/dist/module/utils/colorToRgba.js +0 -80
  134. package/dist/module/utils/colorToRgba.js.map +0 -1
  135. package/dist/module/utils/generateNumbers.js +0 -117
  136. package/dist/module/utils/generateNumbers.js.map +0 -1
  137. package/dist/module/utils/getAdjustedLimit.js +0 -51
  138. package/dist/module/utils/getAdjustedLimit.js.map +0 -1
  139. package/dist/module/utils/getDurationAndIndexFromScrollOffset.js +0 -55
  140. package/dist/module/utils/getDurationAndIndexFromScrollOffset.js.map +0 -1
  141. package/dist/module/utils/getInitialScrollIndex.js +0 -50
  142. package/dist/module/utils/getInitialScrollIndex.js.map +0 -1
  143. package/dist/module/utils/getSafeInitialValue.js +0 -34
  144. package/dist/module/utils/getSafeInitialValue.js.map +0 -1
  145. package/dist/module/utils/padNumber.js +0 -33
  146. package/dist/module/utils/padNumber.js.map +0 -1
  147. package/dist/typescript/components/DurationScroll/DurationScroll.d.ts +0 -4
  148. package/dist/typescript/components/DurationScroll/index.d.ts +0 -2
  149. package/dist/typescript/components/DurationScroll/types.d.ts +0 -66
  150. package/dist/typescript/components/Modal/Modal.d.ts +0 -5
  151. package/dist/typescript/components/Modal/index.d.ts +0 -2
  152. package/dist/typescript/components/Modal/styles.d.ts +0 -17
  153. package/dist/typescript/components/Modal/types.d.ts +0 -15
  154. package/dist/typescript/components/PickerItem/PickerItem.d.ts +0 -14
  155. package/dist/typescript/components/PickerItem/index.d.ts +0 -1
  156. package/dist/typescript/components/TimerPicker/TimerPicker.d.ts +0 -4
  157. package/dist/typescript/components/TimerPicker/index.d.ts +0 -3
  158. package/dist/typescript/components/TimerPicker/styles.d.ts +0 -1451
  159. package/dist/typescript/components/TimerPicker/types.d.ts +0 -90
  160. package/dist/typescript/components/TimerPickerModal/TimerPickerModal.d.ts +0 -4
  161. package/dist/typescript/components/TimerPickerModal/index.d.ts +0 -3
  162. package/dist/typescript/components/TimerPickerModal/styles.d.ts +0 -947
  163. package/dist/typescript/components/TimerPickerModal/types.d.ts +0 -55
  164. package/dist/typescript/index.d.ts +0 -2
  165. package/dist/typescript/utils/colorToRgba.d.ts +0 -38
  166. package/dist/typescript/utils/generateNumbers.d.ts +0 -80
  167. package/dist/typescript/utils/getAdjustedLimit.d.ts +0 -30
  168. package/dist/typescript/utils/getDurationAndIndexFromScrollOffset.d.ts +0 -49
  169. package/dist/typescript/utils/getInitialScrollIndex.d.ts +0 -46
  170. package/dist/typescript/utils/getSafeInitialValue.d.ts +0 -38
  171. package/dist/typescript/utils/padNumber.d.ts +0 -28
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_DurationScroll","e","__esModule","default","describe","onDurationChangeMock","jest","fn","emptyStyles","pickerContainer","pickerLabelContainer","pickerLabel","pickerItemContainer","pickerItem","pickerAmPmContainer","pickerAmPmLabel","disabledPickerContainer","disabledPickerItem","pickerGradientOverlay","it","getByTestId","render","createElement","aggressivelyGetLatestDuration","interval","maximumValue","onDurationChange","padWithNItems","repeatNumbersNTimesNotExplicitlySet","styles","testID","component","expect","toBeDefined","getAllByTestId","items","toHaveLength","getByText","label","queryByTestId","toBeNull"],"sources":["DurationScroll.test.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { render } from \"@testing-library/react-native\";\n\nimport DurationScroll from \"../components/DurationScroll\";\nimport type { generateStyles } from \"../components/TimerPicker/styles\";\n\ndescribe(\"DurationScroll\", () => {\n const onDurationChangeMock = jest.fn();\n const emptyStyles = {\n pickerContainer: {},\n pickerLabelContainer: {},\n pickerLabel: {},\n pickerItemContainer: {},\n pickerItem: {},\n pickerAmPmContainer: {},\n pickerAmPmLabel: {},\n disabledPickerContainer: {},\n disabledPickerItem: {},\n pickerGradientOverlay: {},\n } as ReturnType<typeof generateStyles>;\n\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={1}\n onDurationChange={onDurationChangeMock}\n padWithNItems={0}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n testID=\"duration-scroll\"\n />\n );\n const component = getByTestId(\"duration-scroll\");\n expect(component).toBeDefined();\n });\n\n it(\"renders the correct number of items\", () => {\n const { getAllByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={23}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n />\n );\n const items = getAllByTestId(\"picker-item\");\n expect(items).toHaveLength(10);\n });\n\n it(\"renders the label if provided\", () => {\n const { getByText } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n label=\"Duration\"\n maximumValue={59}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n />\n );\n const label = getByText(\"Duration\");\n expect(label).toBeDefined();\n });\n\n it(\"does not render label when not provided\", () => {\n const { queryByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={59}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n />\n );\n const label = queryByTestId(\"picker-label\");\n expect(label).toBeNull();\n });\n\n it(\"handles different intervals\", () => {\n const { getAllByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={5}\n maximumValue={55}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n />\n );\n const items = getAllByTestId(\"picker-item\");\n expect(items).toBeDefined();\n });\n\n it(\"renders with zero padWithNItems\", () => {\n const { getByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={59}\n onDurationChange={onDurationChangeMock}\n padWithNItems={0}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n testID=\"duration-scroll\"\n />\n );\n const component = getByTestId(\"duration-scroll\");\n expect(component).toBeDefined();\n });\n\n it(\"handles large maximumValue\", () => {\n const { getByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={999}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n testID=\"duration-scroll\"\n />\n );\n const component = getByTestId(\"duration-scroll\");\n expect(component).toBeDefined();\n });\n\n it(\"handles aggressivelyGetLatestDuration set to true\", () => {\n const { getByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={true}\n interval={1}\n maximumValue={59}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={true}\n styles={emptyStyles}\n testID=\"duration-scroll\"\n />\n );\n const component = getByTestId(\"duration-scroll\");\n expect(component).toBeDefined();\n });\n\n it(\"handles repeatNumbersNTimesNotExplicitlySet set to false\", () => {\n const { getByTestId } = render(\n <DurationScroll\n aggressivelyGetLatestDuration={false}\n interval={1}\n maximumValue={59}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n repeatNumbersNTimesNotExplicitlySet={false}\n styles={emptyStyles}\n testID=\"duration-scroll\"\n />\n );\n const component = getByTestId(\"duration-scroll\");\n expect(component).toBeDefined();\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,119 +0,0 @@
1
- "use strict";
2
-
3
- var _react = _interopRequireDefault(require("react"));
4
- var _reactNative = require("@testing-library/react-native");
5
- var _reactNative2 = require("react-native");
6
- var _Modal = _interopRequireDefault(require("../components/Modal"));
7
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
- describe("Modal", () => {
9
- beforeEach(() => {
10
- jest.useFakeTimers();
11
- });
12
- afterEach(() => {
13
- jest.runOnlyPendingTimers();
14
- jest.useRealTimers();
15
- (0, _reactNative.cleanup)();
16
- });
17
- it("renders without crashing", () => {
18
- const {
19
- getByTestId
20
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
21
- isVisible: true
22
- }));
23
- const component = getByTestId("modal");
24
- expect(component).toBeDefined();
25
- });
26
- it("renders children when visible", () => {
27
- const {
28
- getByText
29
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
30
- isVisible: true
31
- }, /*#__PURE__*/_react.default.createElement(_reactNative2.Text, null, "Modal Content")));
32
- const content = getByText("Modal Content");
33
- expect(content).toBeDefined();
34
- });
35
- it("calls onOverlayPress when overlay is pressed", () => {
36
- const onOverlayPressMock = jest.fn();
37
- const {
38
- getByTestId
39
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
40
- isVisible: true,
41
- onOverlayPress: onOverlayPressMock
42
- }));
43
- const overlay = getByTestId("modal-backdrop");
44
- _reactNative.fireEvent.press(overlay);
45
- expect(onOverlayPressMock).toHaveBeenCalled();
46
- });
47
- it("renders but is not visible when isVisible is false", () => {
48
- const {
49
- getByTestId
50
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
51
- isVisible: false
52
- }));
53
- const modal = getByTestId("modal");
54
- expect(modal).toBeDefined();
55
- expect(modal.props.visible).toBe(false);
56
- });
57
- it("does not call onOverlayPress when onOverlayPress is not provided", () => {
58
- const {
59
- getByTestId
60
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
61
- isVisible: true
62
- }));
63
- const overlay = getByTestId("modal-backdrop");
64
- expect(() => _reactNative.fireEvent.press(overlay)).not.toThrow();
65
- });
66
- it("renders multiple children", () => {
67
- const {
68
- getByText
69
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
70
- isVisible: true
71
- }, /*#__PURE__*/_react.default.createElement(_reactNative2.Text, null, "First Child"), /*#__PURE__*/_react.default.createElement(_reactNative2.Text, null, "Second Child")));
72
- const firstChild = getByText("First Child");
73
- const secondChild = getByText("Second Child");
74
- expect(firstChild).toBeDefined();
75
- expect(secondChild).toBeDefined();
76
- });
77
- it("handles rapid visibility changes", () => {
78
- const {
79
- rerender,
80
- getByTestId
81
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
82
- isVisible: true
83
- }));
84
- expect(getByTestId("modal")).toBeDefined();
85
- expect(getByTestId("modal").props.visible).toBe(true);
86
- rerender(/*#__PURE__*/_react.default.createElement(_Modal.default, {
87
- isVisible: false
88
- }));
89
- expect(getByTestId("modal")).toBeDefined();
90
- expect(getByTestId("modal").props.visible).toBe(false);
91
- rerender(/*#__PURE__*/_react.default.createElement(_Modal.default, {
92
- isVisible: true
93
- }));
94
- expect(getByTestId("modal")).toBeDefined();
95
- expect(getByTestId("modal").props.visible).toBe(true);
96
- });
97
- it("calls onOverlayPress exactly once per press", () => {
98
- const onOverlayPressMock = jest.fn();
99
- const {
100
- getByTestId
101
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
102
- isVisible: true,
103
- onOverlayPress: onOverlayPressMock
104
- }));
105
- const overlay = getByTestId("modal-backdrop");
106
- _reactNative.fireEvent.press(overlay);
107
- expect(onOverlayPressMock).toHaveBeenCalledTimes(1);
108
- });
109
- it("renders children with complex structure", () => {
110
- const {
111
- getByText
112
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
113
- isVisible: true
114
- }, /*#__PURE__*/_react.default.createElement(_reactNative2.Text, null, "Parent"), /*#__PURE__*/_react.default.createElement(_reactNative2.Text, null, "Child")));
115
- expect(getByText("Parent")).toBeDefined();
116
- expect(getByText("Child")).toBeDefined();
117
- });
118
- });
119
- //# sourceMappingURL=Modal.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNative2","_Modal","e","__esModule","default","describe","beforeEach","jest","useFakeTimers","afterEach","runOnlyPendingTimers","useRealTimers","cleanup","it","getByTestId","render","createElement","isVisible","component","expect","toBeDefined","getByText","Text","content","onOverlayPressMock","fn","onOverlayPress","overlay","fireEvent","press","toHaveBeenCalled","modal","props","visible","toBe","not","toThrow","firstChild","secondChild","rerender","toHaveBeenCalledTimes"],"sources":["Modal.test.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { render, fireEvent, cleanup } from \"@testing-library/react-native\";\nimport { Text } from \"react-native\";\n\nimport Modal from \"../components/Modal\";\n\ndescribe(\"Modal\", () => {\n beforeEach(() => {\n jest.useFakeTimers();\n });\n\n afterEach(() => {\n jest.runOnlyPendingTimers();\n jest.useRealTimers();\n cleanup();\n });\n\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(<Modal isVisible/>);\n const component = getByTestId(\"modal\");\n expect(component).toBeDefined();\n });\n\n it(\"renders children when visible\", () => {\n const { getByText } = render(\n <Modal isVisible>\n <Text>{\"Modal Content\"}</Text>\n </Modal>\n );\n const content = getByText(\"Modal Content\");\n expect(content).toBeDefined();\n });\n\n it(\"calls onOverlayPress when overlay is pressed\", () => {\n const onOverlayPressMock = jest.fn();\n const { getByTestId } = render(\n <Modal isVisible onOverlayPress={onOverlayPressMock} />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(onOverlayPressMock).toHaveBeenCalled();\n });\n\n it(\"renders but is not visible when isVisible is false\", () => {\n const { getByTestId } = render(<Modal isVisible={false} />);\n const modal = getByTestId(\"modal\");\n expect(modal).toBeDefined();\n expect(modal.props.visible).toBe(false);\n });\n\n it(\"does not call onOverlayPress when onOverlayPress is not provided\", () => {\n const { getByTestId } = render(<Modal isVisible />);\n const overlay = getByTestId(\"modal-backdrop\");\n expect(() => fireEvent.press(overlay)).not.toThrow();\n });\n\n it(\"renders multiple children\", () => {\n const { getByText } = render(\n <Modal isVisible>\n <Text>{\"First Child\"}</Text>\n <Text>{\"Second Child\"}</Text>\n </Modal>\n );\n const firstChild = getByText(\"First Child\");\n const secondChild = getByText(\"Second Child\");\n expect(firstChild).toBeDefined();\n expect(secondChild).toBeDefined();\n });\n\n it(\"handles rapid visibility changes\", () => {\n const { rerender, getByTestId } = render(\n <Modal isVisible={true} />\n );\n expect(getByTestId(\"modal\")).toBeDefined();\n expect(getByTestId(\"modal\").props.visible).toBe(true);\n\n rerender(<Modal isVisible={false} />);\n expect(getByTestId(\"modal\")).toBeDefined();\n expect(getByTestId(\"modal\").props.visible).toBe(false);\n\n rerender(<Modal isVisible={true} />);\n expect(getByTestId(\"modal\")).toBeDefined();\n expect(getByTestId(\"modal\").props.visible).toBe(true);\n });\n\n it(\"calls onOverlayPress exactly once per press\", () => {\n const onOverlayPressMock = jest.fn();\n const { getByTestId } = render(\n <Modal isVisible onOverlayPress={onOverlayPressMock} />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(onOverlayPressMock).toHaveBeenCalledTimes(1);\n });\n\n it(\"renders children with complex structure\", () => {\n const { getByText } = render(\n <Modal isVisible>\n <Text>{\"Parent\"}</Text>\n <Text>{\"Child\"}</Text>\n </Modal>\n );\n expect(getByText(\"Parent\")).toBeDefined();\n expect(getByText(\"Child\")).toBeDefined();\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,169 +0,0 @@
1
- "use strict";
2
-
3
- var _react = _interopRequireDefault(require("react"));
4
- var _reactNative = require("@testing-library/react-native");
5
- var _reactNative2 = require("react-native");
6
- var _TimerPicker = _interopRequireDefault(require("../components/TimerPicker"));
7
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
9
- describe("TimerPicker", () => {
10
- it("renders without crashing", () => {
11
- const {
12
- getByTestId
13
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, null));
14
- const component = getByTestId("timer-picker");
15
- expect(component).toBeDefined();
16
- });
17
- it("renders without crashing with negative padWithNItems", () => {
18
- const {
19
- getByTestId
20
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
21
- padWithNItems: -1
22
- }));
23
- const component = getByTestId("timer-picker");
24
- expect(component).toBeDefined();
25
- });
26
- it("hides days, minutes and seconds when respective hide props are provided", () => {
27
- const {
28
- queryByTestId
29
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
30
- hideDays: true,
31
- hideMinutes: true,
32
- hideSeconds: true
33
- }));
34
- const dayPicker = queryByTestId("duration-scroll-day");
35
- const minutePicker = queryByTestId("duration-scroll-minute");
36
- const secondPicker = queryByTestId("duration-scroll-second");
37
- expect(dayPicker).toBeNull();
38
- expect(minutePicker).toBeNull();
39
- expect(secondPicker).toBeNull();
40
- });
41
- it("uses the custom FlatList component when provided", () => {
42
- const CustomFlatList = props => /*#__PURE__*/_react.default.createElement(_reactNative2.FlatList, _extends({}, props, {
43
- testID: "custom-flat-list"
44
- }));
45
- const {
46
- queryAllByTestId
47
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
48
- FlatList: CustomFlatList
49
- }));
50
- const customFlatList = queryAllByTestId("custom-flat-list");
51
- expect(customFlatList).toHaveLength(3);
52
- });
53
- it("renders all pickers by default (hours, minutes, seconds)", () => {
54
- const {
55
- getByTestId
56
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, null));
57
- expect(getByTestId("duration-scroll-hour")).toBeDefined();
58
- expect(getByTestId("duration-scroll-minute")).toBeDefined();
59
- expect(getByTestId("duration-scroll-second")).toBeDefined();
60
- });
61
- it("hides hours when hideHours is true", () => {
62
- const {
63
- queryByTestId
64
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
65
- hideHours: true
66
- }));
67
- expect(queryByTestId("duration-scroll-hour")).toBeNull();
68
- });
69
- it("renders with custom initial value", () => {
70
- const {
71
- getByTestId
72
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
73
- initialValue: {
74
- hours: 2,
75
- minutes: 30,
76
- seconds: 45
77
- }
78
- }));
79
- expect(getByTestId("timer-picker")).toBeDefined();
80
- });
81
- it("renders with hourInterval", () => {
82
- const {
83
- getByTestId
84
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
85
- hourInterval: 2
86
- }));
87
- expect(getByTestId("timer-picker")).toBeDefined();
88
- });
89
- it("renders with minuteInterval", () => {
90
- const {
91
- getByTestId
92
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
93
- minuteInterval: 15
94
- }));
95
- expect(getByTestId("timer-picker")).toBeDefined();
96
- });
97
- it("renders with secondInterval", () => {
98
- const {
99
- getByTestId
100
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
101
- secondInterval: 5
102
- }));
103
- expect(getByTestId("timer-picker")).toBeDefined();
104
- });
105
- it("renders with custom labels", () => {
106
- const {
107
- getByText
108
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
109
- hourLabel: "hrs",
110
- minuteLabel: "mins",
111
- secondLabel: "secs"
112
- }));
113
- expect(getByText("hrs")).toBeDefined();
114
- expect(getByText("mins")).toBeDefined();
115
- expect(getByText("secs")).toBeDefined();
116
- });
117
- it("renders with disabled state", () => {
118
- const {
119
- getByTestId
120
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
121
- disabled: true
122
- }));
123
- expect(getByTestId("timer-picker")).toBeDefined();
124
- });
125
- it("renders LinearGradient when specified", () => {
126
- const {
127
- getByTestId
128
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
129
- use12HourPicker: false
130
- }));
131
- expect(getByTestId("timer-picker")).toBeDefined();
132
- });
133
- it("handles combination of hide props", () => {
134
- const {
135
- queryByTestId
136
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
137
- hideHours: true,
138
- hideSeconds: true
139
- }));
140
- expect(queryByTestId("duration-scroll-hour")).toBeNull();
141
- expect(queryByTestId("duration-scroll-minute")).toBeDefined();
142
- expect(queryByTestId("duration-scroll-second")).toBeNull();
143
- });
144
- it("handles onDurationChange callback", () => {
145
- const onDurationChangeMock = jest.fn();
146
- const {
147
- getByTestId
148
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
149
- onDurationChange: onDurationChangeMock
150
- }));
151
- expect(getByTestId("timer-picker")).toBeDefined();
152
- });
153
- it("renders with all hide props and days enabled", () => {
154
- const {
155
- getByTestId,
156
- queryByTestId
157
- } = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_TimerPicker.default, {
158
- hideDays: false,
159
- hideHours: true,
160
- hideMinutes: true,
161
- hideSeconds: true
162
- }));
163
- expect(getByTestId("duration-scroll-day")).toBeDefined();
164
- expect(queryByTestId("duration-scroll-hour")).toBeNull();
165
- expect(queryByTestId("duration-scroll-minute")).toBeNull();
166
- expect(queryByTestId("duration-scroll-second")).toBeNull();
167
- });
168
- });
169
- //# sourceMappingURL=TimerPicker.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNative2","_TimerPicker","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","describe","it","getByTestId","render","createElement","component","expect","toBeDefined","padWithNItems","queryByTestId","hideDays","hideMinutes","hideSeconds","dayPicker","minutePicker","secondPicker","toBeNull","CustomFlatList","props","FlatList","testID","queryAllByTestId","customFlatList","toHaveLength","hideHours","initialValue","hours","minutes","seconds","hourInterval","minuteInterval","secondInterval","getByText","hourLabel","minuteLabel","secondLabel","disabled","use12HourPicker","onDurationChangeMock","jest","fn","onDurationChange"],"sources":["TimerPicker.test.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { render } from \"@testing-library/react-native\";\nimport { FlatList } from \"react-native\";\n\nimport TimerPicker from \"../components/TimerPicker\";\n\ndescribe(\"TimerPicker\", () => {\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(<TimerPicker />);\n const component = getByTestId(\"timer-picker\");\n expect(component).toBeDefined();\n });\n\n it(\"renders without crashing with negative padWithNItems\", () => {\n const { getByTestId } = render(<TimerPicker padWithNItems={-1} />);\n const component = getByTestId(\"timer-picker\");\n expect(component).toBeDefined();\n });\n\n it(\"hides days, minutes and seconds when respective hide props are provided\", () => {\n const { queryByTestId } = render(\n <TimerPicker hideDays hideMinutes hideSeconds />\n );\n const dayPicker = queryByTestId(\"duration-scroll-day\");\n const minutePicker = queryByTestId(\"duration-scroll-minute\");\n const secondPicker = queryByTestId(\"duration-scroll-second\");\n expect(dayPicker).toBeNull();\n expect(minutePicker).toBeNull();\n expect(secondPicker).toBeNull();\n });\n\n it(\"uses the custom FlatList component when provided\", () => {\n const CustomFlatList = (props) => (\n <FlatList {...props} testID=\"custom-flat-list\" />\n );\n const { queryAllByTestId } = render(\n <TimerPicker FlatList={CustomFlatList} />\n );\n const customFlatList = queryAllByTestId(\"custom-flat-list\");\n expect(customFlatList).toHaveLength(3);\n });\n\n it(\"renders all pickers by default (hours, minutes, seconds)\", () => {\n const { getByTestId } = render(<TimerPicker />);\n expect(getByTestId(\"duration-scroll-hour\")).toBeDefined();\n expect(getByTestId(\"duration-scroll-minute\")).toBeDefined();\n expect(getByTestId(\"duration-scroll-second\")).toBeDefined();\n });\n\n it(\"hides hours when hideHours is true\", () => {\n const { queryByTestId } = render(<TimerPicker hideHours />);\n expect(queryByTestId(\"duration-scroll-hour\")).toBeNull();\n });\n\n it(\"renders with custom initial value\", () => {\n const { getByTestId } = render(\n <TimerPicker initialValue={{ hours: 2, minutes: 30, seconds: 45 }} />\n );\n expect(getByTestId(\"timer-picker\")).toBeDefined();\n });\n\n it(\"renders with hourInterval\", () => {\n const { getByTestId } = render(<TimerPicker hourInterval={2} />);\n expect(getByTestId(\"timer-picker\")).toBeDefined();\n });\n\n it(\"renders with minuteInterval\", () => {\n const { getByTestId } = render(<TimerPicker minuteInterval={15} />);\n expect(getByTestId(\"timer-picker\")).toBeDefined();\n });\n\n it(\"renders with secondInterval\", () => {\n const { getByTestId } = render(<TimerPicker secondInterval={5} />);\n expect(getByTestId(\"timer-picker\")).toBeDefined();\n });\n\n it(\"renders with custom labels\", () => {\n const { getByText } = render(\n <TimerPicker\n hourLabel=\"hrs\"\n minuteLabel=\"mins\"\n secondLabel=\"secs\"\n />\n );\n expect(getByText(\"hrs\")).toBeDefined();\n expect(getByText(\"mins\")).toBeDefined();\n expect(getByText(\"secs\")).toBeDefined();\n });\n\n it(\"renders with disabled state\", () => {\n const { getByTestId } = render(<TimerPicker disabled />);\n expect(getByTestId(\"timer-picker\")).toBeDefined();\n });\n\n it(\"renders LinearGradient when specified\", () => {\n const { getByTestId } = render(<TimerPicker use12HourPicker={false} />);\n expect(getByTestId(\"timer-picker\")).toBeDefined();\n });\n\n it(\"handles combination of hide props\", () => {\n const { queryByTestId } = render(\n <TimerPicker hideHours hideSeconds />\n );\n expect(queryByTestId(\"duration-scroll-hour\")).toBeNull();\n expect(queryByTestId(\"duration-scroll-minute\")).toBeDefined();\n expect(queryByTestId(\"duration-scroll-second\")).toBeNull();\n });\n\n it(\"handles onDurationChange callback\", () => {\n const onDurationChangeMock = jest.fn();\n const { getByTestId } = render(\n <TimerPicker onDurationChange={onDurationChangeMock} />\n );\n expect(getByTestId(\"timer-picker\")).toBeDefined();\n });\n\n it(\"renders with all hide props and days enabled\", () => {\n const { getByTestId, queryByTestId } = render(\n <TimerPicker hideDays={false} hideHours hideMinutes hideSeconds />\n );\n expect(getByTestId(\"duration-scroll-day\")).toBeDefined();\n expect(queryByTestId(\"duration-scroll-hour\")).toBeNull();\n expect(queryByTestId(\"duration-scroll-minute\")).toBeNull();\n expect(queryByTestId(\"duration-scroll-second\")).toBeNull();\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,276 +0,0 @@
1
- "use strict";
2
-
3
- var _react = _interopRequireDefault(require("react"));
4
- var _reactNative = require("react-native");
5
- var _reactNative2 = require("@testing-library/react-native");
6
- var _TimerPickerModal = _interopRequireDefault(require("../components/TimerPickerModal"));
7
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
9
- describe("TimerPickerModal", () => {
10
- const mockOnConfirm = jest.fn();
11
- const mockOnCancel = jest.fn();
12
- beforeEach(() => {
13
- jest.useFakeTimers();
14
- });
15
- afterEach(() => {
16
- jest.runOnlyPendingTimers();
17
- jest.useRealTimers();
18
- (0, _reactNative2.cleanup)();
19
- });
20
- const defaultProps = {
21
- visible: true,
22
- setIsVisible: jest.fn(),
23
- onConfirm: mockOnConfirm,
24
- onCancel: mockOnCancel
25
- };
26
- it("renders without crashing", () => {
27
- const {
28
- getByTestId
29
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, defaultProps));
30
- const component = getByTestId("timer-picker-modal");
31
- expect(component).toBeDefined();
32
- });
33
- it("calls onConfirm when Confirm button is pressed", () => {
34
- const {
35
- getByText
36
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, defaultProps));
37
- const confirmButton = getByText("Confirm");
38
- _reactNative2.fireEvent.press(confirmButton);
39
- expect(mockOnConfirm).toHaveBeenCalled();
40
- });
41
- it("calls onCancel when Cancel button is pressed", () => {
42
- const {
43
- getByText
44
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, defaultProps));
45
- const cancelButton = getByText("Cancel");
46
- _reactNative2.fireEvent.press(cancelButton);
47
- expect(mockOnCancel).toHaveBeenCalled();
48
- });
49
- it("hides the modal when Cancel button is pressed", () => {
50
- const setIsVisibleMock = jest.fn();
51
- const {
52
- getByText
53
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
54
- setIsVisible: setIsVisibleMock
55
- })));
56
- const cancelButton = getByText("Cancel");
57
- _reactNative2.fireEvent.press(cancelButton);
58
- expect(setIsVisibleMock).toHaveBeenCalledWith(false);
59
- });
60
- it("hides the modal when overlay is pressed", () => {
61
- const setIsVisibleMock = jest.fn();
62
- const {
63
- getByTestId
64
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
65
- closeOnOverlayPress: true,
66
- setIsVisible: setIsVisibleMock
67
- })));
68
- const overlay = getByTestId("modal-backdrop");
69
- _reactNative2.fireEvent.press(overlay);
70
- expect(setIsVisibleMock).toHaveBeenCalledWith(false);
71
- });
72
- it("calls onConfirm with selected duration when Confirm button is pressed", () => {
73
- const {
74
- getByText
75
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, defaultProps));
76
- // Select duration in TimerPicker, assuming its interaction is tested separately
77
- const confirmButton = getByText("Confirm");
78
- _reactNative2.fireEvent.press(confirmButton);
79
- expect(mockOnConfirm).toHaveBeenCalledWith(expect.objectContaining({}));
80
- });
81
- it("renders but is not visible when visible prop is false", () => {
82
- const {
83
- getByTestId
84
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
85
- visible: false
86
- })));
87
- const modal = getByTestId("timer-picker-modal");
88
- expect(modal).toBeDefined();
89
- // Modal component still renders but with visible={false}
90
- expect(modal.props.visible).toBe(false);
91
- });
92
- it("renders with custom button labels", () => {
93
- const {
94
- getByText
95
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
96
- confirmButtonText: "OK",
97
- cancelButtonText: "Dismiss"
98
- })));
99
- expect(getByText("OK")).toBeDefined();
100
- expect(getByText("Dismiss")).toBeDefined();
101
- });
102
- it("renders with custom modal title", () => {
103
- const {
104
- getByText
105
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
106
- modalTitle: "Select Time"
107
- })));
108
- expect(getByText("Select Time")).toBeDefined();
109
- });
110
- it("does not close on overlay press when closeOnOverlayPress is false", () => {
111
- const setIsVisibleMock = jest.fn();
112
- const {
113
- getByTestId
114
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
115
- closeOnOverlayPress: false,
116
- setIsVisible: setIsVisibleMock
117
- })));
118
- const overlay = getByTestId("modal-backdrop");
119
- _reactNative2.fireEvent.press(overlay);
120
- expect(setIsVisibleMock).not.toHaveBeenCalled();
121
- });
122
- it("hides Cancel button when hideCancelButton is true", () => {
123
- const {
124
- queryByText
125
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
126
- hideCancelButton: true
127
- })));
128
- expect(queryByText("Cancel")).toBeNull();
129
- });
130
- it("renders with initial value", () => {
131
- const {
132
- getByTestId
133
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
134
- initialValue: {
135
- hours: 2,
136
- minutes: 30,
137
- seconds: 0
138
- }
139
- })));
140
- expect(getByTestId("timer-picker-modal")).toBeDefined();
141
- });
142
- it("renders with custom intervals", () => {
143
- const {
144
- getByTestId
145
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
146
- hourInterval: 2,
147
- minuteInterval: 15,
148
- secondInterval: 5
149
- })));
150
- expect(getByTestId("timer-picker-modal")).toBeDefined();
151
- });
152
- it("calls both onCancel and setIsVisible when Cancel is pressed", () => {
153
- const setIsVisibleMock = jest.fn();
154
- const onCancelMock = jest.fn();
155
- const {
156
- getByText
157
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
158
- onCancel: onCancelMock,
159
- setIsVisible: setIsVisibleMock
160
- })));
161
- const cancelButton = getByText("Cancel");
162
- _reactNative2.fireEvent.press(cancelButton);
163
- expect(onCancelMock).toHaveBeenCalled();
164
- expect(setIsVisibleMock).toHaveBeenCalledWith(false);
165
- });
166
- it("hides specific time units when respective hide props are provided", () => {
167
- const {
168
- getByTestId
169
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
170
- hideHours: true,
171
- hideSeconds: true
172
- })));
173
- expect(getByTestId("timer-picker-modal")).toBeDefined();
174
- // Note: The specific duration scroll test IDs would be in the TimerPicker component
175
- });
176
- it("renders without crashing with all optional props", () => {
177
- const {
178
- getByTestId
179
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
180
- modalTitle: "Pick Duration",
181
- confirmButtonText: "Done",
182
- cancelButtonText: "Close",
183
- hourLabel: "h",
184
- minuteLabel: "m",
185
- secondLabel: "s",
186
- hideHours: false,
187
- hideMinutes: false,
188
- hideSeconds: false,
189
- hideDays: false
190
- })));
191
- expect(getByTestId("timer-picker-modal")).toBeDefined();
192
- });
193
- it("renders custom cancel button when provided", () => {
194
- const CustomButton = ({
195
- onPress
196
- }) => /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
197
- onPress: onPress,
198
- testID: "custom-cancel-button"
199
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "Custom Cancel"));
200
- const {
201
- getByTestId
202
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
203
- cancelButton: /*#__PURE__*/_react.default.createElement(CustomButton, null)
204
- })));
205
- expect(getByTestId("custom-cancel-button")).toBeDefined();
206
- });
207
- it("renders custom confirm button when provided", () => {
208
- const CustomButton = ({
209
- onPress
210
- }) => /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
211
- onPress: onPress,
212
- testID: "custom-confirm-button"
213
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "Custom Confirm"));
214
- const {
215
- getByTestId
216
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
217
- confirmButton: /*#__PURE__*/_react.default.createElement(CustomButton, null)
218
- })));
219
- expect(getByTestId("custom-confirm-button")).toBeDefined();
220
- });
221
- it("calls onCancel when custom cancel button is pressed", () => {
222
- const CustomButton = ({
223
- onPress
224
- }) => /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
225
- onPress: onPress,
226
- testID: "custom-cancel-button"
227
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "Custom Cancel"));
228
- const {
229
- getByTestId
230
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
231
- cancelButton: /*#__PURE__*/_react.default.createElement(CustomButton, null)
232
- })));
233
- const customCancelButton = getByTestId("custom-cancel-button");
234
- _reactNative2.fireEvent.press(customCancelButton);
235
- expect(mockOnCancel).toHaveBeenCalled();
236
- });
237
- it("calls onConfirm when custom confirm button is pressed", () => {
238
- const CustomButton = ({
239
- onPress
240
- }) => /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
241
- onPress: onPress,
242
- testID: "custom-confirm-button"
243
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "Custom Confirm"));
244
- const {
245
- getByTestId
246
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
247
- confirmButton: /*#__PURE__*/_react.default.createElement(CustomButton, null)
248
- })));
249
- const customConfirmButton = getByTestId("custom-confirm-button");
250
- _reactNative2.fireEvent.press(customConfirmButton);
251
- expect(mockOnConfirm).toHaveBeenCalled();
252
- });
253
- it("renders both custom cancel and confirm buttons when provided", () => {
254
- const CustomCancelButton = ({
255
- onPress
256
- }) => /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
257
- onPress: onPress,
258
- testID: "custom-cancel-button"
259
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "Custom Cancel"));
260
- const CustomConfirmButton = ({
261
- onPress
262
- }) => /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
263
- onPress: onPress,
264
- testID: "custom-confirm-button"
265
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "Custom Confirm"));
266
- const {
267
- getByTestId
268
- } = (0, _reactNative2.render)(/*#__PURE__*/_react.default.createElement(_TimerPickerModal.default, _extends({}, defaultProps, {
269
- cancelButton: /*#__PURE__*/_react.default.createElement(CustomCancelButton, null),
270
- confirmButton: /*#__PURE__*/_react.default.createElement(CustomConfirmButton, null)
271
- })));
272
- expect(getByTestId("custom-cancel-button")).toBeDefined();
273
- expect(getByTestId("custom-confirm-button")).toBeDefined();
274
- });
275
- });
276
- //# sourceMappingURL=TimerPickerModal.test.js.map