Date: October 8, 2025 Sprint: Sprint 1 - Authenticatie & Kernintegratie Status: ✅ Database Initialization Fixed | ⚠️ Tests Need Further Work
Problem: Tests failing with "Table JOBS not found" errors due to incorrect database initialization order.
Solution Implemented:
application-test.yml with proper test configurationddl-auto: create-drop for test databasedata.sql execution during tests (sql.init.mode: never)Files Created/Modified:
backend/src/test/resources/application-test.yml ✅ NEW
Problem: Integration tests getting 401 (Unauthorized) errors.
Solution Implemented:
TestSecurityConfig that disables security for tests@Import(TestSecurityConfig.class) to test classesFiles Created/Modified:
backend/src/test/java/nl/glorylabs/config/TestSecurityConfig.java ✅ NEW
backend/src/test/java/nl/glorylabs/integration/JobControllerIT.java ✅ UPDATED
backend/src/test/java/nl/glorylabs/integration/ApplicationControllerIT.java ✅ UPDATED
Problem: Missing required fields causing constraint violations.
Solution Implemented:
category, region, cityfirstName, lastName, email/api prefix for MockMvc tests)Files Modified:
backend/src/test/java/nl/glorylabs/integration/JobControllerIT.java
backend/src/test/java/nl/glorylabs/integration/ApplicationControllerIT.java
Problem: JWT secret contained invalid base64 characters (hyphens).
Solution Implemented:
application-test.ymlTests run: 24
- Failures: 17
- Errors: 4
- Skipped: 0
Issue: Tests expect data but getting empty results
Root Cause:
active=trueExamples:
shouldGetAllJobs: Expects 3 jobs, gets 0shouldFilterJobsByLocation: Expects 2 jobs, gets 0shouldSearchJobs: Getting 400 (Bad Request) - likely parameter mismatchImpact: Medium - These are integration tests for job listings
Issue: All tests getting 404 (Not Found) errors
Root Cause:
/applications endpoint may not exist or is mapped differentlyExamples:
shouldApplyForJob: 404 on POST /applicationsshouldGetCandidateApplications: 404 on GET /applications/my-applicationsImpact: High - These are critical business features
Issue: Creating jobs via REST API fails with constraint violations
Root Cause:
category, region, or city in DTO mappingExamples:
shouldCreateJob: DataIntegrityViolation on category fieldshouldValidateJobCreation: Same issueImpact: Medium - Affects admin job creation
application-test.yml)spring:
datasource:
url: jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
driver-class-name: org.h2.Driver
username: sa
password:
jpa:
hibernate:
ddl-auto: create-drop # ← Creates schema before each test
show-sql: false
sql:
init:
mode: never # ← Prevents data.sql from running
security:
jwt:
secret: dGVzdGp3dHNlY3JldGtleWZvcnRlc3RpbmdwdXJwb3Nlc29ubHltaW4yNTZiaXRzcmVxdWlyZWRiYXNlNjRlbmNvZGVk
expiration: 3600000 # 1 hour
refresh-expiration: 7200000 # 2 hours
cors:
allowed-origins:
- http://localhost:4200
- http://localhost:3000
cors:
allowed-origins: http://localhost:4200,http://localhost:3000
firecrawl:
enabled: false # Disable external API calls during tests
app:
frontend-url: http://localhost:4200
scheduled-tasks:
enabled: false # Disable scheduled tasks during tests
@TestConfiguration
@EnableWebSecurity
public class TestSecurityConfig {
@Bean
@Primary
public SecurityFilterChain testSecurityFilterChain(HttpSecurity http) throws Exception {
http
.csrf(csrf -> csrf.disable())
.authorizeHttpRequests(auth -> auth
.anyRequest().permitAll());
return http.build();
}
}
/applications endpoint exists in controllerEstimated Time: 2 hours
Estimated Time: 2 hours
category, region, cityEstimated Time: 1 hour
@Disabled annotation/backend/src/test/resources/application-test.yml - Test configuration/backend/src/test/java/nl/glorylabs/config/TestSecurityConfig.java - Test security/backend/src/test/java/nl/glorylabs/integration/JobControllerIT.java - Job tests/backend/src/test/java/nl/glorylabs/integration/ApplicationControllerIT.java - Application tests/backend/src/main/resources/application.yml - Main configuration/backend/src/main/java/nl/glorylabs/config/SecurityConfig.java - Production securityStatus: 🟡 PARTIALLY RESOLVED
Recommendation: Continue with CI/CD setup and fix remaining tests incrementally in Sprint 2.
Last Updated: October 8, 2025 Created by: Claude (Sonnet 4.5) Sprint: Sprint 1 - Authenticatie & Kernintegratie
Reacties