feat: build juozas auto site

This commit is contained in:
9a0ffedc5b31823b
2026-05-02 22:32:02 +00:00
parent c44b6fa229
commit 5c47bdecb6
48 changed files with 9005 additions and 1 deletions

51
tests/jsonld.test.ts Normal file
View File

@@ -0,0 +1,51 @@
import { describe, expect, it } from 'vitest';
import { vehicleJsonLd } from '../src/lib/jsonLd';
describe('Vehicle JSON-LD', () => {
it('maps listing fields to Vehicle schema', () => {
const schema = vehicleJsonLd({
canonicalUrl: 'https://auto.juozas.lt/automobiliai/bmw-320d-2018-vilnius',
imageUrl: 'https://auto.juozas.lt/_astro/01.jpg',
car: {
make: 'BMW',
model: '320d',
year: 2018,
price: 12500,
mileage: 145000,
fuel: 'dyzelinas',
transmission: 'automatinė',
bodyType: 'sedanas',
color: 'Pilka',
sold: false,
vin: 'WBA8C91010A000000',
},
});
expect(schema['@type']).toBe('Vehicle');
expect(schema.vehicleModelDate).toBe(2018);
expect(schema.mileageFromOdometer.value).toBe(145000);
expect(schema.offers.price).toBe(12500);
expect(schema.offers.priceCurrency).toBe('EUR');
});
it('marks sold listings as sold out', () => {
const schema = vehicleJsonLd({
canonicalUrl: 'https://auto.juozas.lt/automobiliai/bmw-320d-2018-vilnius',
imageUrl: 'https://auto.juozas.lt/_astro/01.jpg',
car: {
make: 'BMW',
model: '320d',
year: 2018,
price: 12500,
mileage: 145000,
fuel: 'dyzelinas',
transmission: 'automatinė',
bodyType: 'sedanas',
color: 'Pilka',
sold: true,
},
});
expect(schema.offers.availability).toBe('https://schema.org/SoldOut');
});
});