| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import test from 'node:test'
- import assert from 'node:assert/strict'
- import fs from 'node:fs'
- import { buildPipeNetworkStatisticsQuery } from '../src/utils/waterFacilityStatisticsModel.js'
- test('statistics query mirrors dashboard and export filters', () => {
- assert.deepEqual(
- buildPipeNetworkStatisticsQuery({
- facilityTypes: ['plant', 'pipe', ''],
- status: '1'
- }),
- { facilityTypes: 'plant,pipe', status: '1' }
- )
- })
- test('statistics query omits empty filters instead of requesting empty datasets', () => {
- assert.deepEqual(buildPipeNetworkStatisticsQuery(), {})
- assert.deepEqual(buildPipeNetworkStatisticsQuery({ facilityTypes: ['', ' '], status: '' }), {})
- })
- test('statistics page prevents empty facility-type requests and export', () => {
- const source = fs.readFileSync(
- 'src/views/subSystem/waterSupply/components/WaterFacilityDashboard.vue',
- 'utf8'
- )
- assert.match(source, /buildPipeNetworkStatisticsQuery/u)
- assert.match(source, /:disabled="!selectedTypes\.length"/u)
- assert.match(source, /请至少选择一类设施/u)
- assert.match(source, /if \(!selectedTypes\.value\.length\)/u)
- })
- test('statistics status filter follows the facility status contract', () => {
- const source = fs.readFileSync(
- 'src/views/subSystem/waterSupply/components/WaterFacilityDashboard.vue',
- 'utf8'
- )
- assert.match(source, /<el-option label="正常" value="0" \/><el-option label="异常" value="1" \/>/u)
- assert.doesNotMatch(source, /value="2"/u)
- })
|