43 lines
2.0 KiB
JavaScript
43 lines
2.0 KiB
JavaScript
import test from 'node:test'
|
|
import assert from 'node:assert/strict'
|
|
import { readFile } from 'node:fs/promises'
|
|
import { resolve } from 'node:path'
|
|
|
|
const callers = [
|
|
'scripts/admin-test-env-acceptance.mjs',
|
|
'scripts/client-test-env-acceptance.mjs',
|
|
'scripts/client-phase2-test-env-acceptance.mjs',
|
|
'scripts/create-pending-review-orders.mjs',
|
|
'scripts/pda-final-complete-diagnostic.mjs',
|
|
'scripts/admin-test-env-modules/domestic-container.mjs',
|
|
'scripts/admin-test-env-modules/fee-items.mjs',
|
|
'scripts/admin-test-env-modules/finance-downloads.mjs',
|
|
'scripts/admin-test-env-modules/finance-reconciliation-full.mjs',
|
|
'scripts/admin-test-env-modules/order-inbound-status-fixtures.mjs',
|
|
'scripts/admin-test-env-modules/orders.mjs',
|
|
'scripts/admin-test-env-modules/phase3-container-customs-fixture.mjs',
|
|
'scripts/admin-test-env-modules/phase3-customs.mjs',
|
|
'scripts/admin-test-env-modules/phase3-loading.mjs',
|
|
'scripts/admin-test-env-modules/phase3-order-splitting.mjs',
|
|
'scripts/admin-test-env-modules/phase4-overseas-business.mjs',
|
|
'scripts/admin-test-env-modules/phase4-overseas-client-services.mjs',
|
|
'scripts/admin-test-env-modules/phase4-overseas-master-data.mjs',
|
|
'scripts/admin-test-env-modules/phase4-overseas-pda.mjs',
|
|
'scripts/admin-test-env-modules/suppliers.mjs',
|
|
'scripts/admin-test-env-modules/system.mjs',
|
|
]
|
|
|
|
test('all acceptance login callers use the canonical loginId request field', async () => {
|
|
let loginCount = 0
|
|
for (const file of callers) {
|
|
const source = await readFile(resolve(file), 'utf8')
|
|
const canonical = source.match(/\/api\/auth\/login[\s\S]{0,180}loginId\s*:/g) || []
|
|
assert.ok(canonical.length > 0, `${file} must send loginId`)
|
|
loginCount += canonical.length
|
|
assert.doesNotMatch(source,
|
|
/\/api\/auth\/login[\s\S]{0,180}(?:\busername\s*:|\{\s*username\s*,)/,
|
|
`${file} must not send removed username`)
|
|
}
|
|
assert.ok(loginCount >= 20, `expected broad login coverage, got ${loginCount}`)
|
|
})
|