Files
geointel/frontend/src/lib/bathymetryRaster.test.ts
T
Codex 70c5e34ecf
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s
Add governed SPW bathymetry analysis
2026-07-19 04:07:01 +02:00

53 lines
1.9 KiB
TypeScript

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')
})
})