Add frontend testing stage to Jenkinsfile and update Vitest configuration for CI environments

- Introduced a new 'Test frontend' stage in the Jenkinsfile to run unit tests using Vitest in a Docker container.
- Updated Vite configuration to conditionally include client and server test projects based on the CI environment.
- Modified backend health check tests to skip execution in CI environments.
- Adjusted test for constructing backend asset URLs to reflect default behavior when no base URL is provided.
This commit is contained in:
2026-04-24 10:35:42 -05:00
parent 59c805b48c
commit 5933b161b5
4 changed files with 71 additions and 30 deletions

View File

@@ -1,6 +1,9 @@
import { describe, it, expect } from 'vitest'
describe('backend — health check', () => {
// Solo en entorno con DNS `backend` (p. ej. red Docker) y con backend levantado; en Jenkins/CI se omite.
const skipHttpIntegration = process.env.CI === 'true' || Boolean(process.env.JENKINS_URL)
describe.skipIf(skipHttpIntegration)('backend — health check', () => {
it('el backend esta corriendo y responde', async () => {
const response = await fetch('http://backend:8000/api/health')

View File

@@ -19,8 +19,9 @@ describe('getBackendAssetUrl', () => {
expect(getBackendAssetUrl('/api/v1/items', 'http://localhost:8000/api')).toBe('http://localhost:8000/api/v1/items')
})
it('construye URL completa para ruta normal', () => {
expect(getBackendAssetUrl('/uploads/file.png', 'http://localhost:8000/api')).toBe('http://localhost:8000/api/uploads/file.png')
})
it('construye URL completa para ruta relativa (VITE_API_URL por defecto host:8000)', () => {
// getBackendAssetUrl solo acepta path; la base sale de VITE o fallback http://localhost:8000
expect(getBackendAssetUrl('/uploads/file.png')).toBe('http://localhost:8000/uploads/file.png')
})
})