Skip to content

src/ingest.node.test.ts

36 lines · 1.1 KB · TypeScript
Raw
import assert from 'node:assert/strict'
import test from 'node:test'
import { accumulateBuckets } from './buckets.ts'
import { emptyIgnoreIndex } from './classify.ts'

const emptyIgnore = emptyIgnoreIndex()

test('keeps a zero-delta countable file so hasCommit can see the ingest', () => {
	const result = accumulateBuckets(
		[{ filename: 'packages/worker/src/index.ts', additions: 0, deletions: 0 }],
		emptyIgnore,
	)
	assert.equal(result.countedFiles, 1)
	assert.equal(result.skippedFiles, 0)
	assert.deepEqual(result.buckets, [
		{ language: 'TypeScript', kind: 'source', additions: 0, deletions: 0 },
	])
})

test('still skips generated files and lockfiles', () => {
	const result = accumulateBuckets(
		[
			{ filename: 'pnpm-lock.yaml', additions: 12, deletions: 3 },
			{
				filename: 'packages/worker/worker-configuration.d.ts',
				additions: 4,
				deletions: 0,
				patch: '+// Generated by Wrangler by running `wrangler types`\n+interface Env {}',
			},
		],
		emptyIgnore,
	)
	assert.equal(result.countedFiles, 0)
	assert.equal(result.skippedFiles, 2)
	assert.equal(result.buckets.length, 0)
})