@bytebrand/fe-ui-core 4.8.53 → 4.8.54

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 (194) hide show
  1. package/media/locales/de/promoSlider.json +0 -1
  2. package/media/locales/en/promoSlider.json +0 -1
  3. package/package.json +120 -117
  4. package/source/components/AccordionWidget/AccordionWidget.styl +0 -1
  5. package/source/components/AccordionWidget/AccordionWidget.tsx +4 -8
  6. package/source/components/OfferPanel/OfferCheckboxGroup/CheckboxContainer.tsx +2 -2
  7. package/source/components/OfferPanel/OfferCheckboxGroup/OfferCheckboxGroup.styl +0 -24
  8. package/source/components/OfferPanel/OfferCheckboxGroup/OfferCheckboxGroup.tsx +1 -0
  9. package/source/components/OfferPanel/OfferPanel.tsx +1 -1
  10. package/source/components/VehicleDetailedSidebar/VehicleDetailedSidebar.tsx +11 -23
  11. package/source/components/VehicleDetailedSlider/VehicleDetailedSlider.tsx +6 -2
  12. package/source/components/VehicleDetailedSlider/partials/PriceData.tsx +9 -8
  13. package/source/components/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.styl +0 -5
  14. package/source/components/VehicleSmallCard/VehicleData/VechiclePriceItem/VechiclePriceItem.tsx +1 -3
  15. package/source/components/VehicleSmallCard/VehicleData/VehicleInfo/VehicleInfo.styl +1 -1
  16. package/source/components/VehicleSmallCard/VehicleData/VehicleInfo/VehicleInfo.tsx +11 -24
  17. package/source/components/VehicleSmallCard/VehicleData/VehiclePrice/VehiclePrice.styl +2 -3
  18. package/source/components/VehicleSmallCard/VehicleData/VehicleProperty/VehicleProperty.styl +1 -4
  19. package/source/components/VehicleSmallCard/VehicleData/VehicleProperty/VehicleProperty.tsx +2 -3
  20. package/source/components/VehicleSmallCard/VehicleData/VehicleTitle/VehicleTitle.tsx +1 -1
  21. package/source/components/VehicleSmallCard/VehicleSmallCard.tsx +3 -14
  22. package/source/components/_common/MaterialAccordionGroup/MaterialAccordionGroup.styled.tsx +1 -4
  23. package/source/components/_common/MaterialTooltip/MaterialTooltip.tsx +3 -4
  24. package/source/components/_common/withStats/withStats.styl +0 -10
  25. package/source/components/_common/withStats/withStats.tsx +11 -2
  26. package/source/framework/DataTransformers.ts +0 -1
  27. package/source/framework/constants/common.ts +4 -8
  28. package/source/framework/types/types.ts +0 -1
  29. package/source/framework/vehiclesProps/decoratedLightProps.tsx +12 -48
  30. package/source/framework/vehiclesProps/decoratedProps.tsx +8 -35
  31. package/source/locales/data.ts +0 -3
  32. package/.husky/pre-push +0 -4
  33. package/.storybook/addons.js +0 -4
  34. package/.storybook/config.js +0 -64
  35. package/.storybook/postcss.config.js +0 -6
  36. package/.storybook/preview-head.html +0 -10
  37. package/.storybook/webpack.config.js +0 -130
  38. package/__tests__/components/Checkout/OrderOverviewItem/OrderOverviewItem.test.tsx +0 -42
  39. package/__tests__/components/Checkout/PaymentTypeCard/PaymentTypeCard.test.tsx +0 -50
  40. package/__tests__/components/Checkout/RadioGroup.test.tsx +0 -95
  41. package/__tests__/components/Checkout/ServiceCardWrapper.test.tsx +0 -53
  42. package/__tests__/components/Checkout/Switcher.test.tsx +0 -43
  43. package/__tests__/components/UserDasboardPage/sections/CheckoutSection/CheckoutSection.test.tsx +0 -613
  44. package/__tests__/components/UserDasboardPage/sections/FavoriteSection/FavoriteSection.test.tsx +0 -335
  45. package/__tests__/components/UserDasboardPage/sections/OrderStatusSection/AdditionalOrderInfo.test.tsx +0 -127
  46. package/__tests__/components/UserDasboardPage/sections/OrderStatusSection/OrderStatusCar.test.tsx +0 -58
  47. package/__tests__/components/UserDasboardPage/sections/OrderStatusSection/OrderStatusCard.test.tsx +0 -74
  48. package/__tests__/components/UserDasboardPage/sections/OrderStatusSection/OrderStatusSection.test.tsx +0 -62
  49. package/__tests__/components/UserDasboardPage/sections/RequestedCarsSection/RequestedCarsSection.test.tsx +0 -117
  50. package/__tests__/components/Vehicle/VehicleFormattedPrice/VehicleFormattedPrice.test.tsx +0 -58
  51. package/__tests__/components/VehicleSmallCard/VehicleInfo.test.tsx +0 -88
  52. package/__tests__/components/VehicleSmallCard/VehicleTitle.test.tsx +0 -91
  53. package/__tests__/components/_common/Badge/Badge.test.tsx +0 -15
  54. package/__tests__/components/_common/IconSVG/IconSVG.test.tsx +0 -23
  55. package/__tests__/components/_common/Image/Image.test.tsx +0 -82
  56. package/__tests__/components/_common/MaterialAutocomplete/MaterialAutocomplete.test.tsx +0 -49
  57. package/__tests__/components/_common/MaterialDatePicker/MaterialDatePicker.test.tsx +0 -54
  58. package/__tests__/components/_common/MaterialField/MaterialField.test.tsx +0 -58
  59. package/__tests__/components/_common/StarButton/StarButton.test.tsx +0 -46
  60. package/__tests__/mockedData/financingConfig.js +0 -202
  61. package/__tests__/mockedData/mockedPendingRequestedCar.js +0 -69
  62. package/__tests__/utils/CommonUtils/addPrefixToKeys.test.ts +0 -18
  63. package/__tests__/utils/CommonUtils/arrToObj.test.js +0 -32
  64. package/__tests__/utils/CommonUtils/checkRangeValuesOnEqual.test.ts +0 -17
  65. package/__tests__/utils/CommonUtils/fixNumber.test.ts +0 -20
  66. package/__tests__/utils/CommonUtils/formatMileage.test.ts +0 -8
  67. package/__tests__/utils/CommonUtils/getChipFilterValue.test.ts +0 -22
  68. package/__tests__/utils/CommonUtils/getFormattedNumber.test.ts +0 -19
  69. package/__tests__/utils/CommonUtils/getFormattedPrice.test.ts +0 -19
  70. package/__tests__/utils/CommonUtils/getGroupValuesForQuery.test.ts +0 -51
  71. package/__tests__/utils/CommonUtils/getOfferSliders.test.ts +0 -64
  72. package/__tests__/utils/CommonUtils/getPriceRating.test.ts +0 -26
  73. package/__tests__/utils/CommonUtils/getPriceRatingConfig.test.ts +0 -33
  74. package/__tests__/utils/CommonUtils/preloadNearbyImages.test.ts +0 -9
  75. package/__tests__/utils/CommonUtils/sliceLessThan.test.ts +0 -23
  76. package/__tests__/utils/CommonUtils/sliceMoreThan.test.ts +0 -23
  77. package/source/components/AdvantageItem/AdvantageItem.story.js +0 -23
  78. package/source/components/Alternative/Dealer.story.js +0 -32
  79. package/source/components/Alternative/Dealer.story.styl +0 -3
  80. package/source/components/Breadcrumbs/Breadcrumbs.story.js +0 -40
  81. package/source/components/Breadcrumbs/FirstInfoBlock/FirstInfoBlock.story.js +0 -45
  82. package/source/components/Checkout/OrderOverviewItem/OrderOverviewItem.story.js +0 -243
  83. package/source/components/Checkout/OrderOverviewItem/OrderOverviewItem.story.styl +0 -21
  84. package/source/components/Checkout/RadioCards/RadioGroupCheckout.story.js +0 -105
  85. package/source/components/Checkout/RadioCards/RadioGroupCheckout.story.styl +0 -37
  86. package/source/components/Checkout/Switcher/Switcher.story.js +0 -41
  87. package/source/components/Checkout/Switcher/Switcher.story.styl +0 -2
  88. package/source/components/CompactSearchWidget/CompactSearchWidget.story.js +0 -187
  89. package/source/components/ContactForm/ContactForm.story.js +0 -94
  90. package/source/components/ContactForm/ContactForm.story.styl +0 -0
  91. package/source/components/ContactInfo/ContactInfo.story.js +0 -58
  92. package/source/components/CustomerQuote/CustomerQuote.story.js +0 -41
  93. package/source/components/CustomerQuotesSlider/CustomerQuotesSlider.story.js +0 -73
  94. package/source/components/CustomerQuotesSlider/CustomerQuotesSlider.story.styl +0 -5
  95. package/source/components/FormattedNumber/FormattedNumber.story.js +0 -114
  96. package/source/components/InfoBlocks/InfoBlockWrapper.story.js +0 -101
  97. package/source/components/InfoBlocks/InfoBlockWrapper.story.styl +0 -46
  98. package/source/components/OfferPanel/AboAccordion/AboFaq/AboFaq.story.js +0 -97
  99. package/source/components/OfferPanel/OfferPanel.story.js +0 -139
  100. package/source/components/OfferPanel/RangeGroup/RangeGroup.story.js +0 -35
  101. package/source/components/OfferPanel/RangeGroup/RangeGroup.story.styl +0 -3
  102. package/source/components/PriceRating/PriceRating.story.js +0 -39
  103. package/source/components/PriceRating/PriceRating.story.styl +0 -2
  104. package/source/components/PriceRatingDetailed/PriceRatingDetailed.story.js +0 -78
  105. package/source/components/PriceRatingDetailed/PriceRatingDetailed.story.styl +0 -11
  106. package/source/components/RateSearchValue/RateSearchValue.story.js +0 -78
  107. package/source/components/RateSearchValue/RateSearchValue.story.styl +0 -2
  108. package/source/components/RateSearchWidget/RateSearchWidget.story.js +0 -57
  109. package/source/components/RateSearchWidget/RateSearchWidget.story.styl +0 -12
  110. package/source/components/SearchFilters/FiltersFactory.story.js +0 -273
  111. package/source/components/SearchPage/Filters/MakeModel/MakeModel.story.js +0 -12
  112. package/source/components/SearchWidget/BasicDataWidget/BasicDataWidget.story.js +0 -834
  113. package/source/components/SearchWidget/BasicDataWidget/BasicDataWidget.story.styl +0 -40
  114. package/source/components/SearchWidget/SearchWidget.story.js +0 -191
  115. package/source/components/SearchWidget/SearchWidget.story.styl +0 -6
  116. package/source/components/Stepper/Stepper.story.js +0 -119
  117. package/source/components/Stepper/Stepper.story.styl +0 -41
  118. package/source/components/Theme.story.js +0 -36
  119. package/source/components/Theme.story.styl +0 -85
  120. package/source/components/TickerText/TickerText.story.js +0 -17
  121. package/source/components/UserDashboardPage/sections/OrderStatusSection/OrderStatusSection.story.js +0 -95
  122. package/source/components/UserDashboardPage/sections/RequestedCarsSection/RequestedCarsSection.story.js +0 -97
  123. package/source/components/Vehicle/VehicleConsumption/VehicleConsumption.story.js +0 -31
  124. package/source/components/Vehicle/VehicleFormattedPrice/VehicleFormattedPrice.story.js +0 -247
  125. package/source/components/VehicleCompared/CompareGeneral/CompareGeneral.story.js +0 -30
  126. package/source/components/VehicleCompared/ComparePrice/ComparePrice.story.js +0 -18
  127. package/source/components/VehicleCompared/CompareTitle/CompareTitle.story.js +0 -19
  128. package/source/components/VehicleDetailedSidebar/VehicleDetailedSidebar.story.js +0 -44
  129. package/source/components/VehicleDetailedSlider/VehicleDetailedSlider.story.js +0 -120
  130. package/source/components/VehiclePromoSlider/VehiclePromoInfo/VehiclePromoInfo.story.js +0 -42
  131. package/source/components/VehiclePromoSlider/VehiclePromoSlide/VehiclePromoSlide.story.js +0 -62
  132. package/source/components/VehiclePromoSlider/VehiclePromoSlider.story.js +0 -42
  133. package/source/components/VehicleSmallCard/VehicleSmallCard.story.js +0 -412
  134. package/source/components/VehicleSmallCard/VehicleSmallCard.story.styl +0 -56
  135. package/source/components/VehicleSmallCardForDealerships/VehicleSmallCardForDealerships.story.js +0 -199
  136. package/source/components/VehicleSmallCardForDealerships/VehicleSmallCardForDealerships.story.styl +0 -40
  137. package/source/components/_common/Accordion/Accordion.story.js +0 -36
  138. package/source/components/_common/Badge/Badge.story.js +0 -27
  139. package/source/components/_common/Badge/Badge.story.styl +0 -5
  140. package/source/components/_common/Bubble/Bubble.story.js +0 -52
  141. package/source/components/_common/Button/Button.story.js +0 -52
  142. package/source/components/_common/Button/Button.story.styl +0 -5
  143. package/source/components/_common/ButtonOld/Button.story.js +0 -54
  144. package/source/components/_common/ButtonOld/Button.story.styl +0 -5
  145. package/source/components/_common/Checkbox/Checkbox.story.js +0 -85
  146. package/source/components/_common/Checkbox/Checkbox.story.styl +0 -14
  147. package/source/components/_common/CheckboxMaterial/CheckboxMaterial.story.js +0 -126
  148. package/source/components/_common/CheckboxMaterial/CheckboxMaterial.story.styl +0 -14
  149. package/source/components/_common/Chip/Chip.story.js +0 -43
  150. package/source/components/_common/ChipList/ChipList.story.js +0 -36
  151. package/source/components/_common/DropDown/DropDown.story.js +0 -35
  152. package/source/components/_common/ExpandablePanel/ExpandablePanel.story.js +0 -41
  153. package/source/components/_common/Histogram/Histogram.story.js +0 -51
  154. package/source/components/_common/IconSVG/IconSVG.story.js +0 -21
  155. package/source/components/_common/IconSVG/IconSVG.story.styl +0 -25
  156. package/source/components/_common/Image/Image.story.js +0 -142
  157. package/source/components/_common/Image/Image.story.styl +0 -18
  158. package/source/components/_common/ImagesSet/ImagesSet.story.js +0 -34
  159. package/source/components/_common/ImagesSet/ImagesSet.story.styl +0 -4
  160. package/source/components/_common/Loader/Loader.story.js +0 -21
  161. package/source/components/_common/MaterialAccordionGroup/MaterialAccordionGroup.story.js +0 -49
  162. package/source/components/_common/MaterialDatePicker/MaterialDatePicker.story.js +0 -45
  163. package/source/components/_common/MaterialDatePicker/MaterialDatePicker.story.styl +0 -6
  164. package/source/components/_common/MaterialField/MaterialField.story.js +0 -87
  165. package/source/components/_common/MaterialField/MaterialField.story.styl +0 -34
  166. package/source/components/_common/MaterialSelect/MaterialSelect.story.js +0 -52
  167. package/source/components/_common/MaterialSelect/MaterialSelect.story.styl +0 -6
  168. package/source/components/_common/MaterialStepButton/MaterialStepButton.story.js +0 -47
  169. package/source/components/_common/MaterialStepButton/MaterialStepButton.story.styl +0 -6
  170. package/source/components/_common/MaterialSwitch/MaterialSwitch.story.js +0 -17
  171. package/source/components/_common/MaterialTooltip/MaterialTooltip.story.js +0 -10
  172. package/source/components/_common/Modal/Modal.story.js +0 -37
  173. package/source/components/_common/MuiGroupedSelect/MuiGroupedSelect.story.js +0 -21
  174. package/source/components/_common/PropertySelector/PSGroup.story.js +0 -93
  175. package/source/components/_common/PropertySelector/PSGroup.story.styl +0 -25
  176. package/source/components/_common/PropertySelector/ProperySelector.story.js +0 -83
  177. package/source/components/_common/Radio/FormRadioGroup.story.js +0 -28
  178. package/source/components/_common/Radio/FormRadioGroup.story.styl +0 -2
  179. package/source/components/_common/Radio/Radio.story.js +0 -54
  180. package/source/components/_common/Radio/RadioGroup.story.js +0 -90
  181. package/source/components/_common/Radio/RadioGroup.story.styl +0 -39
  182. package/source/components/_common/Range/Range.story.js +0 -46
  183. package/source/components/_common/Range/Range.story.styl +0 -5
  184. package/source/components/_common/SliderArrow/SliderArrow.story.js +0 -18
  185. package/source/components/_common/Tabs/Tabs.story.js +0 -56
  186. package/source/components/_common/TimePicker/TimePicker.story.js +0 -37
  187. package/source/components/_common/Tooltip/Tooltip.story.js +0 -28
  188. package/source/components/_common/UserMenu/MaterialMenu.story.js +0 -73
  189. package/source/components/_common/VehicleSlider/VehicleSlider.story.js +0 -99
  190. package/source/components/_common/VehicleSlider/VehicleSlider.story.styl +0 -0
  191. package/source/components/_common/withLabel/withLabel.story.js +0 -62
  192. package/source/components/_common/withPopover/withPopover.story.js +0 -48
  193. package/source/components/_common/withPopover/withPopover.story.styl +0 -54
  194. package/source/components/_common/withStats/withStats.story.js +0 -75
@@ -1,130 +0,0 @@
1
- const path = require('path');
2
- const autoprefixer = require('autoprefixer');
3
-
4
- const babelPlugins = [
5
- [require('@babel/plugin-proposal-decorators').default , { legacy: true }],
6
- require('@babel/plugin-transform-react-constant-elements').default,
7
- require('@babel/plugin-proposal-class-properties').default,
8
- require('babel-plugin-minify-dead-code-elimination'),
9
- require('babel-plugin-transform-imports')
10
- ];
11
-
12
- const presetOptions = {
13
- useBuiltIns: 'usage',
14
- corejs: '2'
15
- };
16
-
17
- const babelPresets = [
18
- [require('@babel/preset-env').default, presetOptions],
19
- require('@babel/preset-react').default,
20
- require('@babel/preset-typescript').default
21
- ];
22
-
23
- const BABEL_LOADER = {
24
- loader: require.resolve('babel-loader'),
25
- options: {
26
- babelrc: false,
27
- cacheDirectory: true,
28
- presets: babelPresets,
29
- plugins: babelPlugins
30
- }
31
- };
32
-
33
- const TSLINT_LOADER = {
34
-
35
- };
36
-
37
- const CSS_LOADER = ({ modules }) => ({
38
- loader: require.resolve('css-loader'),
39
- options: {
40
- modules,
41
- sourceMap: true,
42
- importLoaders: 1,
43
- localsConvention: 'camelCase'
44
- }
45
- });
46
-
47
- const STYLUS_LOADER = {
48
- loader: require.resolve('stylus-loader'),
49
- options: {
50
- sourceMap: 'inline'
51
- }
52
- };
53
-
54
- const POST_CSS_LOADER = {
55
- loader: require.resolve('postcss-loader'),
56
- options: {
57
- sourceMap: 'inline',
58
- ident: 'postcss',
59
- config: {
60
- path: path.join(__dirname, './postcss.config.js')
61
- },
62
- plugins: () => [
63
- autoprefixer({
64
- grid: false
65
- })
66
- ]
67
- }
68
- };
69
-
70
- const STYLE_LOADER = {
71
- loader: require.resolve('style-loader'),
72
- options: {
73
- injectType: 'singletonStyleTag'
74
- }
75
- };
76
-
77
- const buildConfig = async ({ config, mode }) => {
78
- config.module.rules.push({
79
- enforce: 'pre',
80
- test: /\.tsx?$/,
81
- loader: require.resolve('tslint-loader'),
82
- exclude: '/node_modules/',
83
- options: {
84
- emitErrors: true
85
- }
86
- });
87
-
88
- config.module.rules.push({
89
- test: /\.tsx?$/,
90
- exclude: /(node_modules|public)\/(?!@bytebrand).*/,
91
- use: [BABEL_LOADER]
92
- });
93
-
94
- config.module.rules.push({
95
- test: /\.css$/,
96
- use: [
97
- STYLE_LOADER,
98
- CSS_LOADER({ modules: true }),
99
- POST_CSS_LOADER
100
- ]
101
- });
102
-
103
- config.module.rules.push({
104
- test: /\.styl$/,
105
- exclude: /\.global.styl$/,
106
- use: [
107
- STYLE_LOADER,
108
- CSS_LOADER({ modules: true }),
109
- POST_CSS_LOADER,
110
- STYLUS_LOADER
111
- ]
112
- });
113
-
114
- // prepend .global to *.stylus file to import it globally
115
- config.module.rules.push({
116
- test: /\.global.styl$/,
117
- use: [
118
- STYLE_LOADER,
119
- CSS_LOADER({ modules: false }),
120
- POST_CSS_LOADER,
121
- STYLUS_LOADER
122
- ]
123
- });
124
-
125
- config.resolve.extensions.push('.ts', '.tsx', '.styl');
126
-
127
- return config;
128
- };
129
-
130
- module.exports = buildConfig;
@@ -1,42 +0,0 @@
1
- import React from 'react';
2
- import { render, screen } from '@testing-library/react';
3
- import OrderOverviewItem from '../../../../source/components/Checkout/OrderOverviewItem/OrderOverviewItem';
4
-
5
- describe('OrderOverviewItem', () => {
6
- it('renders the component with the correct data', () => {
7
- const fields = {
8
- title: 'Test Title',
9
- oneLineRate: '10',
10
- additionalTitle: 'Additional Title',
11
- content: [
12
- {
13
- rate: '5',
14
- fieldName: 'Field Name'
15
- }
16
- ],
17
- rate: '15'
18
- };
19
- const activeStep = 1;
20
- const handleClick = jest.fn();
21
- render(
22
- <OrderOverviewItem
23
- fields={fields}
24
- activeStep={activeStep}
25
- handleStep={handleClick}
26
- titleClassName="test-title-class"
27
- fieldClassName="test-field-class"
28
- />
29
- );
30
- // Test that the correct elements are rendered with the correct values
31
- expect(screen.getByText(fields.title)).toBeInTheDocument();
32
- expect(screen.getByText(fields.oneLineRate)).toBeInTheDocument();
33
- expect(screen.getByText(fields.additionalTitle)).toBeInTheDocument();
34
- expect(screen.getByText(fields.content[0].rate)).toBeInTheDocument();
35
- // Test that the correct classes are applied
36
- expect(screen.getByText(fields.title)).toHaveClass('test-title-class');
37
- expect(screen.getByText(fields.oneLineRate)).toHaveClass('test-field-class');
38
- // Test that the edit icon is clickable and calls the handleStep function
39
- expect(screen.getByTestId('editIcon')).toBeInTheDocument();
40
-
41
- });
42
- });
@@ -1,50 +0,0 @@
1
- import React from 'react';
2
- import { render, fireEvent } from '@testing-library/react';
3
- import PaymentTypeCard from '../../../../source/components/Checkout/RadioCards/PaymentTypeCard/PaymentTypeCard';
4
-
5
- describe('PaymentTypeCard', () => {
6
- it('should render correctly', () => {
7
- const { getByText } = render(<PaymentTypeCard value="test-value" label="Test Label" />);
8
- expect(getByText('Test Label')).toBeInTheDocument();
9
- });
10
-
11
- it('should handle onChange event correctly', () => {
12
- const handleChange = jest.fn();
13
- const { getByRole } = render(<PaymentTypeCard value="test-value" label="Test Label" onChange={handleChange} />);
14
- fireEvent.click(getByRole('radio'));
15
- expect(handleChange).toHaveBeenCalledTimes(1);
16
- });
17
-
18
- it('should handle onChange event correctly if we have checkbox="true"', () => {
19
- const handleChange = jest.fn();
20
- const { getByRole } = render(
21
- <PaymentTypeCard
22
- checkbox
23
- value="test-value"
24
- label="Test Label"
25
- onChange={handleChange}
26
- />
27
- );
28
- fireEvent.click(getByRole('checkbox'));
29
- fireEvent.click(getByRole('checkbox'));
30
- expect(handleChange).toHaveBeenCalledTimes(2);
31
- })
32
-
33
- it('should be correct classes on depend on prop "disabled, checked, error"', () => {
34
- const handleChange = jest.fn();
35
- const { getByTestId } = render(
36
- <PaymentTypeCard
37
- value="test-value"
38
- label="Test Label"
39
- onChange={handleChange}
40
- disabled
41
- checked
42
- error
43
- />
44
- );
45
- const container = getByTestId('container');
46
- expect(container).toHaveClass('disabled');
47
- expect(container).toHaveClass('checked');
48
- expect(container).toHaveClass('error');
49
- })
50
- });
@@ -1,95 +0,0 @@
1
- import React from 'react';
2
- import { render, fireEvent, screen, prettyDOM, waitFor } from '@testing-library/react';
3
- import RadioGroup from '../../../source/components/_common/Radio/RadioGroup';
4
- import ServiceCardWrapper from '../../../source/components/Checkout/RadioCards/AdditionalServiceCard/ServiceCardWrapper';
5
-
6
- const onChangeMock = jest.fn();
7
-
8
- const children = [
9
- <ServiceCardWrapper
10
- key={1}
11
- label={'additionalServices.warranty.label'}
12
- infoContent={'warranty'}
13
- footerText={'completeService'}
14
- value={3}
15
- warrantyCard={true}
16
- price={897456123}
17
- additionalOptions={['Alles aus Bronze Garantiepaket', 'Klima- & Kühlsysteme', 'Elektrische Anlagen']}
18
- monthly={'additionalServices.monthly'}
19
- className={'className'}
20
- modalTitle={'title'}
21
- modalContent={[
22
- 'Motor',
23
- 'Schalt- & Automatikgetriebe',
24
- 'Differenzial'
25
- ]}
26
- onCheckoutModalClick={() => {}}
27
- isHybridOrElectric={false}
28
- warrantyName={'name'}
29
- />,
30
- <ServiceCardWrapper
31
- key={2}
32
- label={'additionalServices.another.label'}
33
- infoContent={'another'}
34
- footerText={'completeService'}
35
- value={2}
36
- warrantyCard={true}
37
- price={987654321}
38
- additionalOptions={['Option 1', 'Option 2', 'Option 3']}
39
- monthly={'additionalServices.monthly'}
40
- className={'className'}
41
- modalTitle={'title'}
42
- modalContent={[
43
- 'Option 1',
44
- 'Option 2',
45
- 'Option 3'
46
- ]}
47
- onCheckoutModalClick={() => {}}
48
- isHybridOrElectric={false}
49
- warrantyName={'name'}
50
- checked={false}
51
- />
52
- ];
53
-
54
- describe('RadioGroup', () => {
55
- it('renders correctly with children', () => {
56
- const { getByText } = render(
57
- <RadioGroup
58
- name='testRadioGroup'
59
- value={1}
60
- onChange={onChangeMock}
61
- error={false}
62
- containerClassName='containerClassName'
63
- childClassName='childClassName'
64
- wrapperClassname='wrapperClassname'
65
- radioName='radioName'
66
- onBlur={() => {}}
67
- >
68
- {children}
69
- </RadioGroup>
70
- );
71
- expect(getByText('additionalServices.warranty.label')).toBeInTheDocument();
72
- expect(getByText('additionalServices.another.label')).toBeInTheDocument();
73
- });
74
-
75
- it('calls onChange when a radio button is selected', () => {
76
- const { getByRole, getByDisplayValue } = render(
77
- <RadioGroup
78
- name='testRadioGroup'
79
- value={1}
80
- onChange={onChangeMock}
81
- error={false}
82
- containerClassName='containerClassName'
83
- childClassName='childClassName'
84
- wrapperClassname='wrapperClassname'
85
- radioName='radioName'
86
- onBlur={() => {}}
87
- >
88
- {children}
89
- </RadioGroup>
90
- );
91
- const radioOption1 = getByRole('radio', { name: 'additionalServices.warranty.label 897.456.123 € /additionalServices.monthly warranty Alles aus Bronze Garantiepaket Klima- & Kühlsysteme Elektrische Anlagen' });
92
- fireEvent.click(radioOption1);
93
- expect(onChangeMock).toHaveBeenCalledTimes(1);
94
- });
95
- });
@@ -1,53 +0,0 @@
1
- import React from 'react';
2
- import { render, screen, fireEvent, prettyDOM } from '@testing-library/react';
3
- import ServiceCardWrapper from '../../../source/components/Checkout/RadioCards/AdditionalServiceCard/ServiceCardWrapper';
4
-
5
- describe('ServiceCardWrapper', () => {
6
- const defaultProps = {
7
- value: '1',
8
- checked: false,
9
- onCheckoutModalClick: jest.fn()
10
- };
11
- const getWrapper = (props = {}) => {
12
- return render(<ServiceCardWrapper {...defaultProps} {...props} />);
13
- };
14
-
15
- it('should render all elements properly', () => {
16
- const { container } = getWrapper({
17
- label: 'Test label',
18
- price: 100,
19
- checked: true,
20
- footerText: 'Test footer text'
21
- });
22
-
23
- expect(screen.getByText('Test label')).toBeInTheDocument();
24
- expect(screen.getByText('100')).toBeInTheDocument();
25
- expect(screen.getByText('€')).toBeInTheDocument();
26
- expect(container.querySelector('input[type="radio"]')).toBeInTheDocument();
27
- });
28
-
29
- it('should call onChange function with proper arguments on radio button click', () => {
30
- const onChange = jest.fn();
31
- const { container } = getWrapper({
32
- value: '2',
33
- onChange
34
- });
35
-
36
- fireEvent.click(container.querySelector('input[type="radio"]'));
37
-
38
- expect(onChange).toHaveBeenCalledTimes(1);
39
- expect(onChange).toHaveBeenCalledWith(expect.any(Object), true, '2');
40
- });
41
-
42
- it('should not call onChange function on radio button click if disabled', () => {
43
- const onChange = jest.fn();
44
- const { container } = getWrapper({
45
- disabled: true,
46
- onChange
47
- });
48
-
49
- fireEvent.click(container.querySelector('input[type="radio"]'));
50
-
51
- expect(onChange).not.toHaveBeenCalled();
52
- });
53
- });
@@ -1,43 +0,0 @@
1
- import React from 'react';
2
- import { render, fireEvent } from '@testing-library/react';
3
- import Switcher from '../../../source/components/Checkout/Switcher/Switcher';
4
-
5
- describe('Switcher component', () => {
6
- it('Should render options in Switcher', () => {
7
- const options = ['Option 1', 'Option 2', 'Option 3'];
8
- const { getAllByRole } = render(
9
- <Switcher options={options} value={1} />
10
- );
11
- const toggleButtons = getAllByRole('button');
12
- expect(toggleButtons.length).toBe(options.length);
13
- options.forEach((option, index) => {
14
- expect(toggleButtons[index]).toHaveTextContent(option);
15
- });
16
- });
17
-
18
- it('Should call onChange function when an option is selected', () => {
19
- const options = ['Option 1', 'Option 2', 'Option 3'];
20
- const onChangeMock = jest.fn();
21
- const { getAllByRole } = render(
22
- <Switcher options={options} value={1} onChange={onChangeMock} />
23
- );
24
- const toggleButtons = getAllByRole('button');
25
- fireEvent.click(toggleButtons[1]);
26
- expect(onChangeMock).toHaveBeenCalledTimes(1);
27
- expect(onChangeMock).toHaveBeenCalledWith(expect.anything(), 2, undefined);
28
- });
29
-
30
- it('Should pass correct values to ToggleButton', () => {
31
- const options = ['Option 1', 'Option 2', 'Option 3'];
32
- const value = 2;
33
- const { getAllByRole } = render(
34
- <Switcher options={options} value={value} />
35
- );
36
- const toggleButtons = getAllByRole('button');
37
- options.forEach((option, index) => {
38
- const toggleButton = toggleButtons[index];
39
- expect(toggleButton).toHaveTextContent(option);
40
- expect(toggleButton).toHaveAttribute('value', String(index + 1));
41
- });
42
- });
43
- });