Files
Webklar-Kundenbereich/test/giteaClient.test.js
T

40 lines
1.2 KiB
JavaScript

import { test, before, after } from 'node:test'
import assert from 'node:assert/strict'
import { startFakeGitea } from './helpers/fakeGitea.js'
let fake
let giteaFetch
let config
before(async () => {
fake = await startFakeGitea({ repos: [{ full_name: 'JUSN/D-ner-Nation' }] })
Object.assign(process.env, {
GITEA_BASE_URL: fake.baseUrl,
GITEA_API_TOKEN: 'test-token',
})
// config.js liest die Umgebung beim Import
;({ giteaFetch } = await import('../server/services/giteaClient.js'))
;({ config } = await import('../server/config.js'))
})
after(async () => {
await fake.close()
})
test('sendet den Token', async () => {
await giteaFetch('/repos/JUSN/D-ner-Nation')
assert.equal(fake.calls.at(-1).headers.authorization, 'token test-token')
})
test('404 hat status', async () => {
await assert.rejects(giteaFetch('/repos/x/y'), (e) => e.status === 404)
})
test('Voreinstellungen der Konfiguration', () => {
assert.equal(config.gitea.org, 'WEBklar')
assert.equal(config.gitea.systemUser, 'webklar-system')
assert.equal(config.gitea.backfillDays, 30)
assert.ok(config.gitea.keepInPlace.includes('JUSN/tickte-system'))
assert.equal(config.gitea.keepInPlace.length, 6)
})