@exdst-sitecore-content-sdk/astro 0.0.24 → 0.0.25
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/package.json +7 -12
- package/src/context.ts +1 -1
- package/src/client/sitecore-astro-client.test.ts +0 -267
- package/src/components/AstroImage.astro.test.ts +0 -541
- package/src/components/Date.astro.test.ts +0 -197
- package/src/components/EditingScripts.astro.test.ts +0 -267
- package/src/components/ErrorBoundary.astro.test.ts +0 -252
- package/src/components/ErrorComponent.astro.test.ts +0 -31
- package/src/components/FieldMetadata.astro.test.ts +0 -40
- package/src/components/File.astro.test.ts +0 -68
- package/src/components/HiddenRendering.astro.test.ts +0 -36
- package/src/components/Image.astro.test.ts +0 -438
- package/src/components/Link.astro.test.ts +0 -261
- package/src/components/MissingComponent.astro.test.ts +0 -21
- package/src/components/Placeholder/Placeholder.astro.test.ts +0 -1088
- package/src/components/Placeholder/PlaceholderMetadata.astro.test.ts +0 -228
- package/src/components/Placeholder/PlaceholderUtils.astro.test.ts +0 -149
- package/src/components/Placeholder/placeholder-utils.test.ts +0 -309
- package/src/components/RichText.astro.test.ts +0 -205
- package/src/components/Text.astro.test.ts +0 -273
- package/src/config/define-config.test.ts +0 -526
- package/src/config-cli/define-cli-config.test.ts +0 -67
- package/src/editing/editing-config-middleware.test.ts +0 -164
- package/src/editing/editing-render-middleware.test.ts +0 -1143
- package/src/editing/render-middleware.test.ts +0 -57
- package/src/editing/utils.test.ts +0 -1212
- package/src/enhancers/WithEmptyFieldEditingComponent.astro.test.ts +0 -380
- package/src/enhancers/WithFieldMetadata.astro.test.ts +0 -113
- package/src/middleware/middleware.test.ts +0 -520
- package/src/middleware/multisite-middleware.test.ts +0 -736
- package/src/middleware/robots-middleware.test.ts +0 -129
- package/src/middleware/sitemap-middleware.test.ts +0 -184
- package/src/tests/astro-helpers.ts +0 -61
- package/src/tests/helpers.ts +0 -46
- package/src/tests/personalizeData.ts +0 -63
- package/src/tests/test-components/CustomErrorComponent.astro +0 -3
- package/src/tests/test-components/CustomHiddenRendering.astro +0 -10
- package/src/tests/test-components/CustomMissingComponent.astro +0 -9
- package/src/tests/test-components/DownloadCallout.astro +0 -12
- package/src/tests/test-components/EmptyFieldEditingComponent.astro +0 -5
- package/src/tests/test-components/ErrorBoundaryWithError.astro +0 -10
- package/src/tests/test-components/Home.astro +0 -12
- package/src/tests/test-components/SxaRichText.astro +0 -23
- package/src/tests/test-components/SxaRichTextDefault.astro +0 -7
- package/src/tests/test-components/SxaRichTextWithTitle.astro +0 -8
- package/src/tests/test-components/TestComponent.astro +0 -9
- package/src/tests/test-components/TestComponentWithError.astro +0 -4
- package/src/tests/test-components/TestComponentWithField.astro +0 -17
- package/src/tests/test-components/TestHeader.astro +0 -8
- package/src/tests/test-components/TestLogo.astro +0 -5
- package/src/tests/test-components/TestParentWrapperComponent.astro +0 -5
- package/src/tests/test-components/TestWrapperComponent.astro +0 -5
- package/src/tests/test-components/generate-map/Button.astro +0 -4
- package/src/tests/test-components/generate-map/Link.astro +0 -4
- package/src/tests/test-components/map-components/Bar.astro +0 -0
- package/src/tests/test-components/map-components/Baz.astro +0 -0
- package/src/tests/test-components/map-components/Foo.astro +0 -0
- package/src/tests/test-components/map-components/Hero.variant.astro +0 -0
- package/src/tests/test-components/map-components/NotComponent.bsx +0 -0
- package/src/tests/test-components/map-components/Qux.astro +0 -0
- package/src/tests/test-components/map-components/folded/Folded.astro +0 -0
- package/src/tests/test-components/map-components/folded/random-file-2.docx +0 -0
- package/src/tests/test-components/map-components/random-file.txt +0 -0
- package/src/tests/test-data/metadata-data.ts +0 -86
- package/src/tests/test-data/normal-mode-data.ts +0 -466
- package/src/tests/vitest.setup.ts +0 -4
- package/src/tools/generate-map.test.ts +0 -201
- package/src/tools/templating/components.test.ts +0 -318
- package/src/tools/templating/default-component.test.ts +0 -31
- package/src/utils/utils.test.ts +0 -111
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
import { describe, test, expect, vi, beforeAll, afterAll } from 'vitest';
|
|
2
|
-
import { mockSitecoreContext, renderAstroComponent } from '../tests/astro-helpers';
|
|
3
|
-
import { ComponentRendering, LayoutServicePageState } from '@sitecore-content-sdk/content/layout';
|
|
4
|
-
import { Page } from '@sitecore-content-sdk/content/client';
|
|
5
|
-
import CustomErrorComponent from '../tests/test-components/CustomErrorComponent.astro';
|
|
6
|
-
import ErrorBoundaryWithError from '../tests/test-components/ErrorBoundaryWithError.astro';
|
|
7
|
-
|
|
8
|
-
describe('ErrorBoundary', () => {
|
|
9
|
-
vi.spyOn(console, 'error').mockImplementation(() => undefined);
|
|
10
|
-
|
|
11
|
-
const testComponentProps = {
|
|
12
|
-
page: {
|
|
13
|
-
locale: 'en',
|
|
14
|
-
layout: {
|
|
15
|
-
sitecore: {
|
|
16
|
-
context: {},
|
|
17
|
-
route: null,
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
mode: {
|
|
21
|
-
name: LayoutServicePageState.Normal,
|
|
22
|
-
isPreview: false,
|
|
23
|
-
isNormal: false,
|
|
24
|
-
isEditing: false,
|
|
25
|
-
isDesignLibrary: false,
|
|
26
|
-
designLibrary: {
|
|
27
|
-
isVariantGeneration: false,
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
describe('when in page editing or preview mode', () => {
|
|
34
|
-
test('Should render custom error component when custom error component is provided and error is thrown', async () => {
|
|
35
|
-
const previewContext = { ...testComponentProps };
|
|
36
|
-
|
|
37
|
-
previewContext.page.mode.isPreview = true;
|
|
38
|
-
|
|
39
|
-
mockSitecoreContext(previewContext.page);
|
|
40
|
-
|
|
41
|
-
const testComponentName = 'Test component Name';
|
|
42
|
-
const rendering: ComponentRendering = {
|
|
43
|
-
componentName: testComponentName,
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const rendered = await renderAstroComponent(ErrorBoundaryWithError, {
|
|
47
|
-
props: { rendering: rendering, errorComponent: CustomErrorComponent },
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
expect(rendered.querySelectorAll('div').length).to.equal(1);
|
|
51
|
-
expect(rendered.querySelector('div')?.textContent).to.equal(
|
|
52
|
-
'This is a custom error component!'
|
|
53
|
-
);
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
test('Should render errors message and errored component name when error is thrown in edit mode', async () => {
|
|
57
|
-
const editingContext = {
|
|
58
|
-
...testComponentProps,
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
editingContext.page.mode.isEditing = true;
|
|
62
|
-
mockSitecoreContext(editingContext.page);
|
|
63
|
-
|
|
64
|
-
const testComponentName = 'Test component Name';
|
|
65
|
-
const rendering: ComponentRendering = {
|
|
66
|
-
componentName: testComponentName,
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
const errorMessage = 'an error occured';
|
|
70
|
-
|
|
71
|
-
const rendered = await renderAstroComponent(ErrorBoundaryWithError, {
|
|
72
|
-
props: { rendering: rendering },
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
const ems = rendered.querySelectorAll('em');
|
|
76
|
-
expect(rendered.innerHTML).to.contain('class="sc-content-sdk-placeholder-error"');
|
|
77
|
-
expect(rendered.innerHTML).to.contain('A rendering error occurred in component');
|
|
78
|
-
expect(ems.length).to.equal(2);
|
|
79
|
-
expect(ems[0].textContent).to.equal(testComponentName);
|
|
80
|
-
expect(ems[1].textContent).to.equal(errorMessage);
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
test('Should render errors message and errored component name when error is thrown in preview mode', async () => {
|
|
84
|
-
const previewContext = { ...testComponentProps };
|
|
85
|
-
|
|
86
|
-
previewContext.page.mode.isPreview = true;
|
|
87
|
-
mockSitecoreContext(previewContext.page);
|
|
88
|
-
|
|
89
|
-
const testComponentName = 'Test component Name';
|
|
90
|
-
const rendering: ComponentRendering = {
|
|
91
|
-
componentName: testComponentName,
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
const errorMessage = 'an error occured';
|
|
95
|
-
|
|
96
|
-
const rendered = await renderAstroComponent(ErrorBoundaryWithError, {
|
|
97
|
-
props: { rendering: rendering },
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
const ems = rendered.querySelectorAll('em');
|
|
101
|
-
|
|
102
|
-
expect(rendered.innerHTML).to.contain('class="sc-content-sdk-placeholder-error"');
|
|
103
|
-
expect(rendered.innerHTML).to.contain('A rendering error occurred in component');
|
|
104
|
-
expect(ems.length).to.equal(2);
|
|
105
|
-
expect(ems[0].textContent).to.equal(testComponentName);
|
|
106
|
-
expect(ems[1].textContent).to.equal(errorMessage);
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
describe('when in development mode', () => {
|
|
111
|
-
beforeAll(() => {
|
|
112
|
-
process.env.NODE_ENV = 'development';
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
afterAll(() => {
|
|
116
|
-
delete process.env.NODE_ENV;
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
test('Should render custom error component when custom error component is provided and error is thrown', async () => {
|
|
120
|
-
const rendered = await renderAstroComponent(ErrorBoundaryWithError, {
|
|
121
|
-
props: { errorComponent: CustomErrorComponent },
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
expect(rendered.querySelectorAll('div').length).to.equal(1);
|
|
125
|
-
expect(rendered.querySelector('div')?.textContent).to.equal(
|
|
126
|
-
'This is a custom error component!'
|
|
127
|
-
);
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
test('Should render errors message and errored component name when error is thrown and is in page editing mode', async () => {
|
|
131
|
-
const editingContext = {
|
|
132
|
-
...testComponentProps,
|
|
133
|
-
};
|
|
134
|
-
editingContext.page.mode.isEditing = true;
|
|
135
|
-
mockSitecoreContext(editingContext.page);
|
|
136
|
-
|
|
137
|
-
const testComponentName = 'Test component Name';
|
|
138
|
-
const rendering: ComponentRendering = {
|
|
139
|
-
componentName: testComponentName,
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
const errorMessage = 'an error occured';
|
|
143
|
-
|
|
144
|
-
const rendered = await renderAstroComponent(ErrorBoundaryWithError, {
|
|
145
|
-
props: { rendering: rendering },
|
|
146
|
-
});
|
|
147
|
-
|
|
148
|
-
const ems = rendered.querySelectorAll('em');
|
|
149
|
-
expect(rendered.innerHTML).to.contain('class="sc-content-sdk-placeholder-error"');
|
|
150
|
-
expect(rendered.innerHTML).to.contain('A rendering error occurred in component');
|
|
151
|
-
expect(ems.length).to.equal(2);
|
|
152
|
-
expect(ems[0].textContent).to.equal(testComponentName);
|
|
153
|
-
expect(ems[1].textContent).to.equal(errorMessage);
|
|
154
|
-
});
|
|
155
|
-
|
|
156
|
-
test('Should render errors message and errored component name when error is thrown and is not in page editing mode', async () => {
|
|
157
|
-
const normalContext = { ...testComponentProps };
|
|
158
|
-
|
|
159
|
-
normalContext.page.mode.isNormal = true;
|
|
160
|
-
mockSitecoreContext(normalContext.page);
|
|
161
|
-
|
|
162
|
-
const testComponentName = 'Test component Name';
|
|
163
|
-
const rendering: ComponentRendering = {
|
|
164
|
-
componentName: testComponentName,
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
const errorMessage = 'an error occured';
|
|
168
|
-
|
|
169
|
-
const rendered = await renderAstroComponent(ErrorBoundaryWithError, {
|
|
170
|
-
props: { rendering: rendering },
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
const ems = rendered.querySelectorAll('em');
|
|
174
|
-
|
|
175
|
-
expect(rendered.innerHTML).to.contain('class="sc-content-sdk-placeholder-error"');
|
|
176
|
-
expect(rendered.innerHTML).to.contain('A rendering error occurred in component');
|
|
177
|
-
expect(ems.length).to.equal(2);
|
|
178
|
-
expect(ems[0].textContent).to.equal(testComponentName);
|
|
179
|
-
expect(ems[1].textContent).to.equal(errorMessage);
|
|
180
|
-
});
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
describe('when not in page editing and not in development mode', () => {
|
|
184
|
-
test('Should render custom error component when custom error component is provided and error is thrown', async () => {
|
|
185
|
-
const page: Page = {
|
|
186
|
-
locale: 'en',
|
|
187
|
-
layout: {
|
|
188
|
-
sitecore: {
|
|
189
|
-
context: {},
|
|
190
|
-
route: null,
|
|
191
|
-
},
|
|
192
|
-
},
|
|
193
|
-
mode: {
|
|
194
|
-
name: LayoutServicePageState.Normal,
|
|
195
|
-
isNormal: false,
|
|
196
|
-
isPreview: false,
|
|
197
|
-
isEditing: false,
|
|
198
|
-
isDesignLibrary: false,
|
|
199
|
-
designLibrary: {
|
|
200
|
-
isVariantGeneration: false,
|
|
201
|
-
},
|
|
202
|
-
},
|
|
203
|
-
};
|
|
204
|
-
|
|
205
|
-
mockSitecoreContext(page);
|
|
206
|
-
|
|
207
|
-
const rendered = await renderAstroComponent(ErrorBoundaryWithError, {
|
|
208
|
-
props: { errorComponent: CustomErrorComponent },
|
|
209
|
-
});
|
|
210
|
-
|
|
211
|
-
expect(rendered.querySelectorAll('div').length).to.equal(1);
|
|
212
|
-
expect(rendered.querySelector('div')?.textContent).to.equal(
|
|
213
|
-
'This is a custom error component!'
|
|
214
|
-
);
|
|
215
|
-
});
|
|
216
|
-
|
|
217
|
-
test('Should render default errors message when error is thrown and custom error component is not provided', async () => {
|
|
218
|
-
const errorMessage = 'an error occured';
|
|
219
|
-
|
|
220
|
-
const page: Page = {
|
|
221
|
-
locale: 'en',
|
|
222
|
-
layout: {
|
|
223
|
-
sitecore: {
|
|
224
|
-
context: {},
|
|
225
|
-
route: null,
|
|
226
|
-
},
|
|
227
|
-
},
|
|
228
|
-
mode: {
|
|
229
|
-
name: LayoutServicePageState.Normal,
|
|
230
|
-
isNormal: false,
|
|
231
|
-
isPreview: false,
|
|
232
|
-
isEditing: false,
|
|
233
|
-
isDesignLibrary: false,
|
|
234
|
-
designLibrary: {
|
|
235
|
-
isVariantGeneration: false,
|
|
236
|
-
},
|
|
237
|
-
},
|
|
238
|
-
};
|
|
239
|
-
|
|
240
|
-
mockSitecoreContext(page);
|
|
241
|
-
|
|
242
|
-
const rendered = await renderAstroComponent(ErrorBoundaryWithError);
|
|
243
|
-
|
|
244
|
-
expect(rendered.innerHTML).to.contain('class="sc-content-sdk-placeholder-error"');
|
|
245
|
-
expect(rendered.innerHTML).to.contain(
|
|
246
|
-
'There was a problem loading this section.' // eslint-disable-line
|
|
247
|
-
);
|
|
248
|
-
expect(rendered.querySelectorAll('em').length).to.equal(0);
|
|
249
|
-
expect(rendered.innerHTML).to.not.contain(errorMessage);
|
|
250
|
-
});
|
|
251
|
-
});
|
|
252
|
-
});
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { describe, test, expect } from 'vitest';
|
|
2
|
-
import { renderAstroComponent } from '../tests/astro-helpers';
|
|
3
|
-
import ErrorComponent from './ErrorComponent.astro';
|
|
4
|
-
|
|
5
|
-
describe('ErrorComponent', () => {
|
|
6
|
-
test('should render message prop with correct CSS class', async () => {
|
|
7
|
-
const message = 'Test error message';
|
|
8
|
-
|
|
9
|
-
const rendered = await renderAstroComponent(ErrorComponent, {
|
|
10
|
-
props: { message: message },
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
expect(
|
|
14
|
-
rendered.querySelector('.sc-content-sdk-placeholder-error')?.textContent?.trim()
|
|
15
|
-
).to.equal(message);
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
test('should render children when provided without message', async () => {
|
|
19
|
-
const content = 'Child error content';
|
|
20
|
-
|
|
21
|
-
const rendered = await renderAstroComponent(ErrorComponent, {
|
|
22
|
-
slots: {
|
|
23
|
-
default: `<span>${content}</span>`,
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
expect(rendered.querySelector('.sc-content-sdk-placeholder-error')?.textContent).to.equal(
|
|
28
|
-
content
|
|
29
|
-
);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { describe, test, expect } from 'vitest';
|
|
2
|
-
import FieldMetadata from './FieldMetadata.astro';
|
|
3
|
-
import { renderAstroComponent } from '../tests/astro-helpers';
|
|
4
|
-
|
|
5
|
-
describe('<FieldMetadata />', () => {
|
|
6
|
-
test('should render field metadata', async () => {
|
|
7
|
-
const props = {
|
|
8
|
-
metadata: {
|
|
9
|
-
contextItem: {
|
|
10
|
-
id: '{09A07660-6834-476C-B93B-584248D3003B}',
|
|
11
|
-
language: 'en',
|
|
12
|
-
revision: 'a0b36ce0a7db49418edf90eb9621e145',
|
|
13
|
-
version: 1,
|
|
14
|
-
},
|
|
15
|
-
fieldId: '{414061F4-FBB1-4591-BC37-BFFA67F745EB}',
|
|
16
|
-
fieldType: 'date',
|
|
17
|
-
rawValue: 'Test1',
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const Foo = '<h2>foo</h2>';
|
|
22
|
-
|
|
23
|
-
const rendered = await renderAstroComponent(FieldMetadata, {
|
|
24
|
-
props: { ...props },
|
|
25
|
-
slots: {
|
|
26
|
-
default: Foo,
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
expect(rendered.innerHTML).to.equal(
|
|
31
|
-
[
|
|
32
|
-
`<code type="text/sitecore" chrometype="field" class="scpm" kind="open">${JSON.stringify(
|
|
33
|
-
props.metadata
|
|
34
|
-
)}</code>`,
|
|
35
|
-
'<h2>foo</h2>',
|
|
36
|
-
'<code type="text/sitecore" chrometype="field" class="scpm" kind="close"></code>',
|
|
37
|
-
].join('')
|
|
38
|
-
);
|
|
39
|
-
});
|
|
40
|
-
});
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { describe, test, expect } from 'vitest';
|
|
2
|
-
import { renderAstroComponent } from '../tests/astro-helpers';
|
|
3
|
-
import File, { FileField } from './File.astro';
|
|
4
|
-
|
|
5
|
-
describe('<File />', () => {
|
|
6
|
-
test('should render nothing with missing field', async () => {
|
|
7
|
-
const field: FileField = null!;
|
|
8
|
-
const rendered = await renderAstroComponent(File, {
|
|
9
|
-
props: { field: field },
|
|
10
|
-
});
|
|
11
|
-
expect(rendered.innerHTML).to.equal('');
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
test('should render nothing with missing value', async () => {
|
|
15
|
-
const field = {
|
|
16
|
-
editable: 'lorem',
|
|
17
|
-
};
|
|
18
|
-
const rendered = await renderAstroComponent(File, {
|
|
19
|
-
props: { field: field },
|
|
20
|
-
});
|
|
21
|
-
expect(rendered.innerHTML).to.equal('');
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
test('should render with src directly on provided field', async () => {
|
|
25
|
-
const field = {
|
|
26
|
-
src: '/lorem',
|
|
27
|
-
title: 'ipsum',
|
|
28
|
-
};
|
|
29
|
-
const rendered = (
|
|
30
|
-
await renderAstroComponent(File, {
|
|
31
|
-
props: { field: field },
|
|
32
|
-
})
|
|
33
|
-
).querySelector('a');
|
|
34
|
-
expect(rendered?.outerHTML).to.contain(field.src);
|
|
35
|
-
expect(rendered?.outerHTML).to.contain(field.title);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
test('should render display name if no title', async () => {
|
|
39
|
-
const field = {
|
|
40
|
-
value: {
|
|
41
|
-
src: '/lorem',
|
|
42
|
-
displayName: 'ipsum',
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
const rendered = (
|
|
46
|
-
await renderAstroComponent(File, {
|
|
47
|
-
props: { field: field },
|
|
48
|
-
})
|
|
49
|
-
).querySelector('a');
|
|
50
|
-
expect(rendered?.outerHTML).to.contain(field.value.displayName);
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
test('should render other attributes with other props provided', async () => {
|
|
54
|
-
const field = {
|
|
55
|
-
value: {
|
|
56
|
-
src: '/lorem',
|
|
57
|
-
title: 'ipsum',
|
|
58
|
-
},
|
|
59
|
-
};
|
|
60
|
-
const rendered = (
|
|
61
|
-
await renderAstroComponent(File, {
|
|
62
|
-
props: { field: field, id: 'my-file', class: 'my-css' },
|
|
63
|
-
})
|
|
64
|
-
).querySelector('a');
|
|
65
|
-
expect(rendered?.outerHTML).to.contain('id="my-file"');
|
|
66
|
-
expect(rendered?.outerHTML).to.contain('class="my-css"');
|
|
67
|
-
});
|
|
68
|
-
});
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { describe, test, expect } from 'vitest';
|
|
2
|
-
import { renderAstroComponent } from '../tests/astro-helpers';
|
|
3
|
-
import HiddenRendering from './HiddenRendering.astro';
|
|
4
|
-
|
|
5
|
-
describe('<HiddenRendering />', () => {
|
|
6
|
-
test('should render', async () => {
|
|
7
|
-
const rendered = await renderAstroComponent(HiddenRendering, {
|
|
8
|
-
props: { container: document.body },
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
expect(rendered.querySelectorAll('div > *')).to.have.length(1);
|
|
12
|
-
|
|
13
|
-
const style = rendered
|
|
14
|
-
.querySelector('div')
|
|
15
|
-
?.getAttribute('style')
|
|
16
|
-
?.trim()
|
|
17
|
-
?.split(';')
|
|
18
|
-
.reduce<Record<string, string>>((acc, style) => {
|
|
19
|
-
if (style.split(':')[0]) acc[style.split(':')[0].trim()] = style.split(':')[1].trim();
|
|
20
|
-
return acc;
|
|
21
|
-
}, {});
|
|
22
|
-
|
|
23
|
-
// Instead of checking exact equality, we'll verify required styles are present
|
|
24
|
-
expect(style).to.include({
|
|
25
|
-
'background-size': '3px 3px',
|
|
26
|
-
display: 'flex',
|
|
27
|
-
'justify-content': 'center',
|
|
28
|
-
'align-items': 'center',
|
|
29
|
-
padding: '30px',
|
|
30
|
-
color: '#aaa',
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
// Verify the div contains the expected text
|
|
34
|
-
expect(rendered.textContent).to.equal('The component is hidden');
|
|
35
|
-
});
|
|
36
|
-
});
|