import { describe, expect, it } from 'vitest' import { bathymetryRasterImageUrl, bathymetryRasterSelectionToMapSelection, } from './bathymetryRaster' describe('bathymetry raster mapping', () => { it('uses the governed image endpoint', () => { expect(bathymetryRasterImageUrl('project-1', 'dataset-1')).toBe( '/api/v1/projects/project-1/datasets/dataset-1/raster/bathymetry/image', ) }) it('maps persisted bed-elevation metrics without turning them into object counts', () => { const mapped = bathymetryRasterSelectionToMapSelection({ dataset_id: 'dataset-1', product_key: 'spw_bathymetry_50cm_mdng', selection_bbox: { min_x: 4.85, min_y: 50.45, max_x: 4.87, max_y: 50.47, crs: 'EPSG:4326' }, selected_cell_count: 100, valid_cell_count: 25, coverage_ratio: 0.25, resolution_m: 0.5, vertical_reference: 'mDNG', survey_period: '2019-2022', summary: { metric_label: 'Gemiddelde waterbodemhoogte', metric_value: 74.5, metric_unit: 'm mDNG', aggregation_method: 'mean_valid_source_cells', primary_metric_key: 'bed_elevation_mean_m', metrics: [{ metric_key: 'bed_elevation_mean_m', metric_label: 'Gemiddelde waterbodemhoogte', metric_value: 74.5, metric_unit: 'm mDNG', aggregation_method: 'mean_valid_source_cells', is_estimate: false, }], }, unsupported_metrics: ['current_water_depth_m', 'water_volume_m3'], limitation_message: 'Geen gelijktijdig waterpeil.', generated_at: '2026-07-19T00:00:00Z', }) expect(mapped.feature_count).toBe(25) expect(mapped.geojson.features).toEqual([]) expect(mapped.summary?.primary_metric_key).toBe('bed_elevation_mean_m') expect(mapped.summary?.metric_unit).toBe('m mDNG') expect(mapped.summary?.is_estimate).toBe(false) expect(mapped.summary?.warning).toContain('waterpeil') }) })