@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
47 lines (46 loc) • 2.16 kB
JavaScript
import { it, expect, describe } from 'vitest';
import PrintComponent from './component';
describe('PrintComponent', () => {
it('filterValidPrintFormats', () => {
const availableFormats = ['pdf', 'svg', 'png'];
const configFormats = ['png', 'jpg'];
const results = PrintComponent.filterValidPrintFormats(configFormats, availableFormats);
expect(results).toEqual(['png']);
});
it('getValidDefaultFormat', async () => {
const formats = ['pdf', 'png', 'svg'];
let result = PrintComponent.getValidDefaultFormat(formats, 'pdf');
expect(result).toBe('pdf');
result = PrintComponent.getValidDefaultFormat(formats, 'txt');
expect(result).toBe(formats[0]);
});
describe('filterValidLayout', () => {
const availableLayouts = [
{ attributes: [], name: 'A4 Portrait' },
{ attributes: [], name: 'A3 Landscape' }
];
it('filterValidLayout, with config', () => {
const configLayouts = ['A4 Portrait', 'A10 Land'];
const filteredLayouts = PrintComponent.filterValidLayouts(availableLayouts, configLayouts);
expect(filteredLayouts.length).toBe(1);
expect(filteredLayouts[0].name).toBe('A4 Portrait');
});
it('filterValidLayout, without config', () => {
const filteredLayouts = PrintComponent.filterValidLayouts(availableLayouts);
expect(filteredLayouts.length).toBe(2);
});
});
describe('filterValidScales', () => {
const availableScales = [100, 2500, 5000, 25000];
it('filterValidScales, with config', () => {
const configScales = [100, 1000, 5000, 10000, 25000];
const filteredScales = PrintComponent.filterValidScales(availableScales, configScales);
expect(filteredScales.length).toBe(3);
expect(filteredScales).toEqual([100, 5000, 25000]);
});
it('filterValidScales, without config', () => {
const filteredLayouts = PrintComponent.filterValidScales(availableScales);
expect(filteredLayouts.length).toBe(4);
});
});
});