WP-00: project skeleton with three-level test harness
Some checks failed
CI / backend (push) Has been cancelled
CI / frontend (push) Has been cancelled
CI / ui (push) Has been cancelled

Cargo workspace (domain, application, infrastructure, api), axum health endpoint
with SPA fallback, Vue 3 + Tailwind frontend, Vitest, Playwright, Makefile,
Gitea Actions CI and README.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Dennis Nemec
2026-09-02 21:28:21 +02:00
parent 741c5e35ad
commit 780c84098b
44 changed files with 8419 additions and 14 deletions

View File

@ -0,0 +1,14 @@
import { mount } from '@vue/test-utils'
import StatusBadge from './StatusBadge.vue'
describe('StatusBadge', () => {
it('renders the label and an ok style', () => {
const w = mount(StatusBadge, { props: { status: 'ok', label: 'Backend' } })
expect(w.text()).toContain('Backend')
expect(w.classes().join(' ')).toContain('green')
})
it('renders an error style', () => {
const w = mount(StatusBadge, { props: { status: 'error', label: 'Backend' } })
expect(w.classes().join(' ')).toContain('red')
})
})

View File

@ -0,0 +1,17 @@
<script setup lang="ts">
defineProps<{ status: 'ok' | 'error' | 'unknown'; label: string }>()
const styles = {
ok: 'bg-green-100 text-green-800',
error: 'bg-red-100 text-red-800',
unknown: 'bg-gray-100 text-gray-700',
}
</script>
<template>
<span
class="inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium"
:class="styles[status]"
>
{{ label }}
</span>
</template>