|
1 |
| -import { defineArticle, defineWebPage, useSchemaOrg } from '@unhead/schema-org/vue' |
| 1 | +import { defineArticle, defineWebPage, defineWebSite, useSchemaOrg } from '@unhead/schema-org/vue' |
2 | 2 | import { useHead } from '@unhead/vue'
|
3 | 3 | import { createHead as createClientHead, renderDOMHead } from '@unhead/vue/client'
|
4 | 4 | import { renderSSRHead } from '@unhead/vue/server'
|
5 | 5 | import { describe, expect, it } from 'vitest'
|
| 6 | +import { computed, ref } from 'vue' |
6 | 7 | import { useDom } from '../../../unhead/test/fixtures'
|
| 8 | +import { createHead as createServerHead } from '../../../vue/src/server' |
7 | 9 | import { ssrVueAppWithUnhead } from '../../../vue/test/util'
|
8 | 10 |
|
9 | 11 | describe('schema.org e2e', () => {
|
@@ -150,4 +152,71 @@ describe('schema.org e2e', () => {
|
150 | 152 | }
|
151 | 153 | `)
|
152 | 154 | })
|
| 155 | + it('ref simple', async () => { |
| 156 | + const head = createServerHead({ |
| 157 | + disableDefaults: true, |
| 158 | + }) |
| 159 | + useSchemaOrg([ |
| 160 | + defineWebSite(ref({ |
| 161 | + name: 'Test', |
| 162 | + })), |
| 163 | + ], { head }) |
| 164 | + |
| 165 | + const data = await renderSSRHead(head) |
| 166 | + expect(data.bodyTags).toMatchInlineSnapshot(` |
| 167 | + "<script type="application/ld+json" data-hid="schema-org-graph">{ |
| 168 | + "@context": "https://schema.org", |
| 169 | + "@graph": [ |
| 170 | + { |
| 171 | + "@id": "#/schema//d006e97", |
| 172 | + "name": "Test" |
| 173 | + } |
| 174 | + ] |
| 175 | + }</script>" |
| 176 | + `) |
| 177 | + }) |
| 178 | + |
| 179 | + it('refs', async () => { |
| 180 | + const head = createServerHead({ |
| 181 | + disableDefaults: true, |
| 182 | + init: [ |
| 183 | + { |
| 184 | + templateParams: { |
| 185 | + schemaOrg: computed(() => { |
| 186 | + return { |
| 187 | + inLanguage: ref('foo'), |
| 188 | + } |
| 189 | + }), |
| 190 | + }, |
| 191 | + }, |
| 192 | + ], |
| 193 | + }) |
| 194 | + useSchemaOrg([ |
| 195 | + defineWebPage(computed(() => ({ |
| 196 | + name: ref('test'), |
| 197 | + foo: computed(() => 'bar'), |
| 198 | + }))), |
| 199 | + defineWebSite(ref({ |
| 200 | + name: 'Test', |
| 201 | + })), |
| 202 | + ], { head }) |
| 203 | + |
| 204 | + const data = await renderSSRHead(head) |
| 205 | + expect(data.bodyTags).toMatchInlineSnapshot(` |
| 206 | + "<script type="application/ld+json" data-hid="schema-org-graph">{ |
| 207 | + "@context": "https://schema.org", |
| 208 | + "@graph": [ |
| 209 | + { |
| 210 | + "@id": "#/schema//6b94a87", |
| 211 | + "foo": "bar", |
| 212 | + "name": "test" |
| 213 | + }, |
| 214 | + { |
| 215 | + "@id": "#/schema//d006e97", |
| 216 | + "name": "Test" |
| 217 | + } |
| 218 | + ] |
| 219 | + }</script>" |
| 220 | + `) |
| 221 | + }) |
153 | 222 | })
|
0 commit comments