import {expect, it} from 'vitest';
import {renderToStaticMarkup} from 'react-dom/server';
import {sanitizePayloadForPublish, FactStatus, SourceType} from '@o2o/shared';
import {SiteProvider} from '@site/lib/site-context';
import {MOONLIGHT_STAY_PAYLOAD} from '@site/fixtures/moonlight-stay';
import {EssentialInfoSection} from './EssentialInfoSection';
function fixture(confirmed = true) {
const payload = structuredClone(MOONLIGHT_STAY_PAYLOAD);
payload.facts = [];
payload.links = [{
channel: 1, title: 'NOL', url: 'https://nol.yanolja.com/stay/domestic/10068088', confirmed,
stayGuide: {
policy: '체크인 15:00 체크아웃 11:00\n전 연령 동일 1인당 2만원',
service: '주방\n욕조',
reservation: '- 반려동물 입실금지\n',
},
}];
return payload;
}
it('renders guides without facts, before booking actions, preserving line breaks and escaping HTML', () => {
const payload = fixture();
const html = renderToStaticMarkup();
expect(html).toContain('예약 전 확인');
expect(html).toContain('체크인 15:00 체크아웃 11:00\n전 연령 동일 1인당 2만원');
expect(html).toContain('주방\n욕조');
expect(html).toContain('반려동물 입실금지');
expect(html).toContain('whitespace-pre-line');
expect(html).toContain('<script>');
expect(html).not.toContain('