@windstream/react-shared-components 0.1.93 → 0.1.95
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.
- package/dist/contentful/index.esm.js +2 -2
- package/dist/contentful/index.esm.js.map +1 -1
- package/dist/contentful/index.js +3 -3
- package/dist/contentful/index.js.map +1 -1
- package/dist/core.d.ts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils/index.esm.js +1 -1
- package/dist/utils/index.js +1 -1
- package/package.json +14 -8
- package/src/components/accordion/index.test.tsx +270 -0
- package/src/components/alert-card/index.test.tsx +152 -0
- package/src/components/animation-wrapper/index.test.tsx +424 -0
- package/src/components/brand-button/index.test.tsx +292 -0
- package/src/components/button/index.test.tsx +91 -0
- package/src/components/call-button/index.test.tsx +260 -0
- package/src/components/checkbox/index.test.tsx +252 -0
- package/src/components/checklist/index.test.tsx +231 -0
- package/src/components/checklist/index.tsx +64 -29
- package/src/components/checklist/types.ts +7 -1
- package/src/components/collapse/index.test.tsx +277 -0
- package/src/components/collapse/index.tsx +1 -0
- package/src/components/divider/index.test.tsx +53 -0
- package/src/components/image/index.test.tsx +174 -0
- package/src/components/input/index.test.tsx +348 -0
- package/src/components/link/index.test.tsx +199 -0
- package/src/components/list/index.test.tsx +166 -0
- package/src/components/material-icon/index.test.tsx +130 -0
- package/src/components/modal/index.test.tsx +310 -0
- package/src/components/next-image/index.test.tsx +406 -0
- package/src/components/pagination/index.test.tsx +521 -0
- package/src/components/radio-button/index.test.tsx +151 -0
- package/src/components/see-more/index.test.tsx +96 -0
- package/src/components/select/index.test.tsx +256 -0
- package/src/components/select-plan-button/index.test.tsx +173 -0
- package/src/components/skeleton/index.test.tsx +74 -0
- package/src/components/spinner/index.test.tsx +76 -0
- package/src/components/text/index.test.tsx +65 -0
- package/src/components/tooltip/index.test.tsx +50 -0
- package/src/components/view-cart-button/index.test.tsx +57 -0
- package/src/contentful/blocks/accordion/index.test.tsx +218 -0
- package/src/contentful/blocks/accordion/index.tsx +3 -1
- package/src/contentful/blocks/address-input-banner/index.test.tsx +132 -0
- package/src/contentful/blocks/anchored-bottom-banner/index.test.tsx +287 -0
- package/src/contentful/blocks/blogs-grid/BlogGrid.stories.tsx +5 -4
- package/src/contentful/blocks/blogs-grid/index.test.tsx +355 -0
- package/src/contentful/blocks/blogs-grid-base/index.test.tsx +274 -0
- package/src/contentful/blocks/breadcrumbs/index.test.tsx +281 -0
- package/src/contentful/blocks/button/index.test.tsx +339 -0
- package/src/contentful/blocks/callout/index.test.tsx +539 -0
- package/src/contentful/blocks/cards/blog-card/index.test.tsx +218 -0
- package/src/contentful/blocks/cards/floating-image-card/index.test.tsx +201 -0
- package/src/contentful/blocks/cards/full-image-card/index.test.tsx +216 -0
- package/src/contentful/blocks/cards/index.test.tsx +39 -0
- package/src/contentful/blocks/cards/product-card/index.test.tsx +263 -0
- package/src/contentful/blocks/cards/simple-card/index.test.tsx +364 -0
- package/src/contentful/blocks/cards/simple-card/index.tsx +1 -1
- package/src/contentful/blocks/cards/testimonial-card/index.test.tsx +180 -0
- package/src/contentful/blocks/carousel/helper.test.tsx +539 -0
- package/src/contentful/blocks/carousel/index.test.tsx +308 -0
- package/src/contentful/blocks/carousel/types.test.ts +16 -0
- package/src/contentful/blocks/cart-retention-banner/index.test.tsx +409 -0
- package/src/contentful/blocks/cart-retention-banner/index.tsx +4 -4
- package/src/contentful/blocks/comparison-table/index.test.tsx +114 -0
- package/src/contentful/blocks/cookiebanner/index.test.tsx +277 -0
- package/src/contentful/blocks/cta-callout/index.test.tsx +244 -0
- package/src/contentful/blocks/dynamic-tabs/index.test.tsx +240 -0
- package/src/contentful/blocks/email-input-block/index.test.tsx +213 -0
- package/src/contentful/blocks/email-input-block/index.tsx +40 -35
- package/src/contentful/blocks/find-kinetic/index.test.tsx +269 -0
- package/src/contentful/blocks/floating-banner/index.test.tsx +246 -0
- package/src/contentful/blocks/footer/index.test.tsx +302 -0
- package/src/contentful/blocks/image-promo-bar/helper.test.tsx +61 -0
- package/src/contentful/blocks/image-promo-bar/index.test.tsx +467 -0
- package/src/contentful/blocks/image-promo-bar/index.tsx +248 -246
- package/src/contentful/blocks/image-promo-bar/vimeo-embed.test.tsx +142 -0
- package/src/contentful/blocks/image-promo-bar/youtube-embed.test.tsx +104 -0
- package/src/contentful/blocks/modal/index.test.tsx +209 -0
- package/src/contentful/blocks/navigation/desktop-link-groups.tsx/index.test.tsx +208 -0
- package/src/contentful/blocks/navigation/index.test.tsx +924 -0
- package/src/contentful/blocks/navigation/mobile-link-groups.tsx/index.test.tsx +131 -0
- package/src/contentful/blocks/primary-hero/index.test.tsx +286 -0
- package/src/contentful/blocks/primary-hero/index.tsx +7 -4
- package/src/contentful/blocks/search-block/index.test.tsx +268 -0
- package/src/contentful/blocks/shape-background-wrapper/index.test.tsx +284 -0
- package/src/contentful/blocks/text/index.test.tsx +36 -0
- package/src/contentful/index.test.ts +45 -0
- package/src/global-mocks/contentful/to-document.ts +25 -0
- package/src/global-mocks/cookie.ts +48 -0
- package/src/global-mocks/cx.ts +37 -0
- package/src/global-mocks/index.ts +89 -0
- package/src/global-mocks/speed-card-bg.ts +27 -0
- package/src/global-mocks/utm.ts +49 -0
- package/src/hooks/contentful/use-contentful-rich-text.test.tsx +1758 -0
- package/src/hooks/contentful/use-contentful-rich-text.tsx +1 -1
- package/src/hooks/contentful/use-processed-check-list.test.tsx +277 -0
- package/src/hooks/use-body-scroll-lock.test.ts +134 -0
- package/src/hooks/use-carousel-swipe.test.ts +393 -0
- package/src/hooks/use-outside-click.test.ts +142 -0
- package/src/index.ts +1 -1
- package/src/next/index.test.ts +7 -0
- package/src/setupTests.ts +17 -11
- package/src/utils/contentful/to-document.test.ts +85 -0
- package/src/utils/cookie.test.ts +180 -0
- package/src/utils/cx.test.ts +90 -0
- package/src/utils/index.test.ts +115 -0
- package/src/utils/speed-card-bg.test.ts +46 -0
- package/src/utils/utm.test.ts +359 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
import "@testing-library/jest-dom";
|
|
2
|
+
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { Carousel } from "./index";
|
|
5
|
+
import { CarouselProps } from "./types";
|
|
6
|
+
|
|
7
|
+
import { fireEvent, render, screen } from "@testing-library/react";
|
|
8
|
+
|
|
9
|
+
// Mock helper components
|
|
10
|
+
jest.mock("./helper", () => ({
|
|
11
|
+
ProductCardCarousel: ({ fields }: any) => (
|
|
12
|
+
<div data-testid="product-card-carousel">{fields?.title}</div>
|
|
13
|
+
),
|
|
14
|
+
TestimonialCarousel: ({ fields }: any) => (
|
|
15
|
+
<div data-testid="testimonial-carousel">{fields?.title}</div>
|
|
16
|
+
),
|
|
17
|
+
TabSwitch: ({ tabs, activeTab, onChange }: any) => (
|
|
18
|
+
<div data-testid="tab-switch">
|
|
19
|
+
{tabs.map((tab: string) => (
|
|
20
|
+
<button
|
|
21
|
+
key={tab}
|
|
22
|
+
data-testid={`tab-${tab}`}
|
|
23
|
+
onClick={() => onChange(tab)}
|
|
24
|
+
className={activeTab === tab ? "active" : ""}
|
|
25
|
+
>
|
|
26
|
+
{tab}
|
|
27
|
+
</button>
|
|
28
|
+
))}
|
|
29
|
+
</div>
|
|
30
|
+
),
|
|
31
|
+
}));
|
|
32
|
+
|
|
33
|
+
jest.mock("@shared/components/text", () => ({
|
|
34
|
+
Text: ({ children, as, ...props }: any) => {
|
|
35
|
+
const Tag = as || "span";
|
|
36
|
+
return <Tag {...props}>{children}</Tag>;
|
|
37
|
+
},
|
|
38
|
+
}));
|
|
39
|
+
|
|
40
|
+
describe("Carousel", () => {
|
|
41
|
+
const baseFields = {
|
|
42
|
+
__typename: "ComponentCarousel" as const,
|
|
43
|
+
sys: { id: "carousel-1" },
|
|
44
|
+
title: "Test Carousel",
|
|
45
|
+
subTitle: "A subtitle",
|
|
46
|
+
items: { items: [] },
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const defaultProps: CarouselProps = {
|
|
50
|
+
fields: baseFields,
|
|
51
|
+
hasTestimonialCards: false,
|
|
52
|
+
hasProductCards: false,
|
|
53
|
+
disclaimerText: null,
|
|
54
|
+
backgroundColor: "bg-white",
|
|
55
|
+
activeTab: "Internet Only",
|
|
56
|
+
setActiveTab: jest.fn(),
|
|
57
|
+
tabs: ["Business Ready", "Internet Only"],
|
|
58
|
+
showSwitch: false,
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
it("renders the carousel container", () => {
|
|
62
|
+
const { container } = render(<Carousel {...defaultProps} />);
|
|
63
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it("renders the title", () => {
|
|
67
|
+
render(<Carousel {...defaultProps} />);
|
|
68
|
+
expect(screen.getByText("Test Carousel")).toBeInTheDocument();
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
it("renders title as h2", () => {
|
|
72
|
+
render(<Carousel {...defaultProps} />);
|
|
73
|
+
const title = screen.getByText("Test Carousel");
|
|
74
|
+
expect(title.tagName).toBe("H2");
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
it("renders subtitle when provided", () => {
|
|
78
|
+
render(<Carousel {...defaultProps} />);
|
|
79
|
+
expect(screen.getByText("A subtitle")).toBeInTheDocument();
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
it("renders subtitle as h3", () => {
|
|
83
|
+
render(<Carousel {...defaultProps} />);
|
|
84
|
+
const subtitle = screen.getByText("A subtitle");
|
|
85
|
+
expect(subtitle.tagName).toBe("H3");
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
it("does not render subtitle when not provided", () => {
|
|
89
|
+
const fields = { ...baseFields, subTitle: undefined };
|
|
90
|
+
render(<Carousel {...defaultProps} fields={fields} />);
|
|
91
|
+
expect(screen.queryByText("A subtitle")).not.toBeInTheDocument();
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
it("does not render subtitle when it is null", () => {
|
|
95
|
+
const fields = { ...baseFields, subTitle: null as any };
|
|
96
|
+
render(<Carousel {...defaultProps} fields={fields} />);
|
|
97
|
+
const h3Elements = document.querySelectorAll("h3");
|
|
98
|
+
expect(h3Elements).toHaveLength(0);
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
it("does not render subtitle when it is empty string", () => {
|
|
102
|
+
const fields = { ...baseFields, subTitle: "" };
|
|
103
|
+
render(<Carousel {...defaultProps} fields={fields} />);
|
|
104
|
+
// Empty string is falsy so subtitle block should not render
|
|
105
|
+
const h3Elements = document.querySelectorAll("h3");
|
|
106
|
+
expect(h3Elements).toHaveLength(0);
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
it("renders with undefined title", () => {
|
|
110
|
+
const fields = { ...baseFields, title: undefined };
|
|
111
|
+
render(<Carousel {...defaultProps} fields={fields} />);
|
|
112
|
+
// Should not crash, h2 renders but empty
|
|
113
|
+
const h2 = document.querySelector("h2");
|
|
114
|
+
expect(h2).toBeInTheDocument();
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
it("uses default showSwitch and testimonialAutoScroll when not provided", () => {
|
|
118
|
+
const propsWithoutDefaults = { ...defaultProps } as any;
|
|
119
|
+
delete propsWithoutDefaults.showSwitch;
|
|
120
|
+
delete propsWithoutDefaults.testimonialAutoScroll;
|
|
121
|
+
render(<Carousel {...propsWithoutDefaults} hasTestimonialCards={true} />);
|
|
122
|
+
// showSwitch defaults to false so no product carousel shown
|
|
123
|
+
expect(
|
|
124
|
+
screen.queryByTestId("product-card-carousel")
|
|
125
|
+
).not.toBeInTheDocument();
|
|
126
|
+
// testimonialAutoScroll defaults to true, testimonial renders
|
|
127
|
+
expect(screen.getByTestId("testimonial-carousel")).toBeInTheDocument();
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
it("renders disclaimer text when provided", () => {
|
|
131
|
+
render(<Carousel {...defaultProps} disclaimerText="Terms apply" />);
|
|
132
|
+
expect(screen.getByText("Terms apply")).toBeInTheDocument();
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
it("does not render disclaimer when null", () => {
|
|
136
|
+
const { container } = render(<Carousel {...defaultProps} />);
|
|
137
|
+
expect(container.querySelector(".footnote")).not.toBeInTheDocument();
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
it("applies backgroundColor class", () => {
|
|
141
|
+
const { container } = render(
|
|
142
|
+
<Carousel {...defaultProps} backgroundColor="bg-blue-500" />
|
|
143
|
+
);
|
|
144
|
+
expect(container.firstChild).toHaveClass("bg-blue-500");
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
describe("product cards", () => {
|
|
148
|
+
it("renders ProductCardCarousel when hasProductCards is true and showSwitch is true", () => {
|
|
149
|
+
render(
|
|
150
|
+
<Carousel {...defaultProps} hasProductCards={true} showSwitch={true} />
|
|
151
|
+
);
|
|
152
|
+
expect(screen.getByTestId("product-card-carousel")).toBeInTheDocument();
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
it("does not render ProductCardCarousel when showSwitch is false", () => {
|
|
156
|
+
render(
|
|
157
|
+
<Carousel {...defaultProps} hasProductCards={true} showSwitch={false} />
|
|
158
|
+
);
|
|
159
|
+
expect(
|
|
160
|
+
screen.queryByTestId("product-card-carousel")
|
|
161
|
+
).not.toBeInTheDocument();
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
it("renders TabSwitch when showSwitch and hasProductCards with multiple tabs", () => {
|
|
165
|
+
render(
|
|
166
|
+
<Carousel
|
|
167
|
+
{...defaultProps}
|
|
168
|
+
hasProductCards={true}
|
|
169
|
+
showSwitch={true}
|
|
170
|
+
tabs={["Tab A", "Tab B"]}
|
|
171
|
+
/>
|
|
172
|
+
);
|
|
173
|
+
expect(screen.getByTestId("tab-switch")).toBeInTheDocument();
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
it("does not render TabSwitch when only one tab", () => {
|
|
177
|
+
render(
|
|
178
|
+
<Carousel
|
|
179
|
+
{...defaultProps}
|
|
180
|
+
hasProductCards={true}
|
|
181
|
+
showSwitch={true}
|
|
182
|
+
tabs={["Only Tab"]}
|
|
183
|
+
/>
|
|
184
|
+
);
|
|
185
|
+
expect(screen.queryByTestId("tab-switch")).not.toBeInTheDocument();
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
it("calls setActiveTab when tab is clicked", () => {
|
|
189
|
+
const setActiveTab = jest.fn();
|
|
190
|
+
render(
|
|
191
|
+
<Carousel
|
|
192
|
+
{...defaultProps}
|
|
193
|
+
hasProductCards={true}
|
|
194
|
+
showSwitch={true}
|
|
195
|
+
setActiveTab={setActiveTab}
|
|
196
|
+
tabs={["Tab A", "Tab B"]}
|
|
197
|
+
/>
|
|
198
|
+
);
|
|
199
|
+
fireEvent.click(screen.getByTestId("tab-Tab A"));
|
|
200
|
+
expect(setActiveTab).toHaveBeenCalledWith("Tab A");
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
describe("testimonial cards", () => {
|
|
205
|
+
it("renders TestimonialCarousel when hasTestimonialCards is true", () => {
|
|
206
|
+
render(<Carousel {...defaultProps} hasTestimonialCards={true} />);
|
|
207
|
+
expect(screen.getByTestId("testimonial-carousel")).toBeInTheDocument();
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
it("does not render TestimonialCarousel when hasTestimonialCards is false", () => {
|
|
211
|
+
render(<Carousel {...defaultProps} hasTestimonialCards={false} />);
|
|
212
|
+
expect(
|
|
213
|
+
screen.queryByTestId("testimonial-carousel")
|
|
214
|
+
).not.toBeInTheDocument();
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
it("passes testimonialAutoScroll prop correctly", () => {
|
|
218
|
+
render(
|
|
219
|
+
<Carousel
|
|
220
|
+
{...defaultProps}
|
|
221
|
+
hasTestimonialCards={true}
|
|
222
|
+
testimonialAutoScroll={false}
|
|
223
|
+
/>
|
|
224
|
+
);
|
|
225
|
+
expect(screen.getByTestId("testimonial-carousel")).toBeInTheDocument();
|
|
226
|
+
});
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
describe("layout classes", () => {
|
|
230
|
+
it("applies product card base class when hasProductCards", () => {
|
|
231
|
+
const { container } = render(
|
|
232
|
+
<Carousel {...defaultProps} hasProductCards={true} showSwitch={true} />
|
|
233
|
+
);
|
|
234
|
+
expect(container.firstChild).toHaveClass("px-3");
|
|
235
|
+
expect(container.firstChild).toHaveClass("py-9");
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
it("applies testimonial base class when hasTestimonialCards", () => {
|
|
239
|
+
const { container } = render(
|
|
240
|
+
<Carousel {...defaultProps} hasTestimonialCards={true} />
|
|
241
|
+
);
|
|
242
|
+
expect(container.firstChild).toHaveClass("px-3");
|
|
243
|
+
expect(container.firstChild).toHaveClass("py-12");
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
it("applies no base class when neither card type", () => {
|
|
247
|
+
const { container } = render(<Carousel {...defaultProps} />);
|
|
248
|
+
expect(container.firstChild).toHaveClass("mx-auto");
|
|
249
|
+
expect(container.firstChild).toHaveClass("overflow-hidden");
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
it("applies overflow-hidden to root", () => {
|
|
253
|
+
const { container } = render(<Carousel {...defaultProps} />);
|
|
254
|
+
expect(container.firstChild).toHaveClass("overflow-hidden");
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
it("applies product class without testimonial when only hasProductCards", () => {
|
|
258
|
+
const { container } = render(
|
|
259
|
+
<Carousel
|
|
260
|
+
{...defaultProps}
|
|
261
|
+
hasProductCards={true}
|
|
262
|
+
hasTestimonialCards={false}
|
|
263
|
+
showSwitch={true}
|
|
264
|
+
/>
|
|
265
|
+
);
|
|
266
|
+
expect(container.firstChild).toHaveClass("py-9");
|
|
267
|
+
});
|
|
268
|
+
|
|
269
|
+
it("renders both product and testimonial when both flags are true", () => {
|
|
270
|
+
render(
|
|
271
|
+
<Carousel
|
|
272
|
+
{...defaultProps}
|
|
273
|
+
hasProductCards={true}
|
|
274
|
+
hasTestimonialCards={true}
|
|
275
|
+
showSwitch={true}
|
|
276
|
+
/>
|
|
277
|
+
);
|
|
278
|
+
expect(screen.getByTestId("product-card-carousel")).toBeInTheDocument();
|
|
279
|
+
expect(screen.getByTestId("testimonial-carousel")).toBeInTheDocument();
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
it("does not render product carousel when showSwitch is false even with hasProductCards", () => {
|
|
283
|
+
render(
|
|
284
|
+
<Carousel
|
|
285
|
+
{...defaultProps}
|
|
286
|
+
hasProductCards={true}
|
|
287
|
+
showSwitch={false}
|
|
288
|
+
hasTestimonialCards={false}
|
|
289
|
+
/>
|
|
290
|
+
);
|
|
291
|
+
expect(
|
|
292
|
+
screen.queryByTestId("product-card-carousel")
|
|
293
|
+
).not.toBeInTheDocument();
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
it("renders with empty tabs array and no TabSwitch", () => {
|
|
297
|
+
render(
|
|
298
|
+
<Carousel
|
|
299
|
+
{...defaultProps}
|
|
300
|
+
hasProductCards={true}
|
|
301
|
+
showSwitch={true}
|
|
302
|
+
tabs={[]}
|
|
303
|
+
/>
|
|
304
|
+
);
|
|
305
|
+
expect(screen.queryByTestId("tab-switch")).not.toBeInTheDocument();
|
|
306
|
+
});
|
|
307
|
+
});
|
|
308
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { backgroundColorMap, DEFAULT_TABS } from "./types";
|
|
2
|
+
|
|
3
|
+
describe("carousel types exports", () => {
|
|
4
|
+
it("exports backgroundColorMap with expected keys", () => {
|
|
5
|
+
expect(backgroundColorMap).toBeDefined();
|
|
6
|
+
expect(backgroundColorMap.blue).toBe("bg-bg-fill-inverse");
|
|
7
|
+
expect(backgroundColorMap.green).toBe("bg-border-success");
|
|
8
|
+
expect(backgroundColorMap.orange).toBe("bg-orange-500");
|
|
9
|
+
expect(backgroundColorMap.purple).toBe("bg-purple-500");
|
|
10
|
+
expect(backgroundColorMap.white).toBe("bg-white");
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
it("exports DEFAULT_TABS", () => {
|
|
14
|
+
expect(DEFAULT_TABS).toEqual(["Business Ready", "Internet Only"]);
|
|
15
|
+
});
|
|
16
|
+
});
|