Compare commits

..

No commits in common. "6d3b1cbffd7d7fa3da1b0289914aa1fe491d5762" and "c65d1031edd5a3e326de72fd54c247bab3ca65c6" have entirely different histories.

3 changed files with 1 additions and 30 deletions

View file

@ -14,8 +14,6 @@ jobs:
runs-on: docker
steps:
- uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 0
- id: filter
uses: https://github.com/dorny/paths-filter@v3

View file

@ -40,15 +40,13 @@ class InvitationService(
@Transactional
@PreAuthorize("hasRole('ADMIN')")
fun createPatientInvite(email: String, createdByAdmin: String?): InviteCreationResult {
val tenantId = TenantContext.getTenantId() ?: throw IllegalArgumentException("Missing tenant")
requireNotNull(TenantContext.getTenantId()) { "Missing tenant" }
val patient = Patient(UUID.randomUUID().toString(), generatePatientPlaceholderName())
patient.tenantId = tenantId
val savedPatient = patientRepository.save(patient)
keycloakProvisioningService.provisionUser(email, Invitation.ROLE_PATIENT)?.let { userId ->
val user = User(userId, email, Invitation.ROLE_PATIENT, "INVITED")
user.tenantId = tenantId
userRepository.save(user)
}
keycloakProvisioningService.sendSetPasswordEmail(email)
@ -66,7 +64,6 @@ class InvitationService(
acceptedBy = null,
createdByAdmin = createdByAdmin
)
invitation.tenantId = tenantId
invitationRepository.save(invitation)
return InviteCreationResult(token, invitation.expiresAt)
}
@ -106,7 +103,6 @@ class InvitationService(
throw IllegalArgumentException("Invitation email mismatch")
}
val newUser = User(authenticatedUserId, authenticatedEmail, invitation.role, "ACTIVE")
newUser.tenantId = TenantContext.getTenantId() ?: throw IllegalStateException("Missing tenant")
userRepository.save(newUser)
}
@ -144,7 +140,6 @@ class InvitationService(
val tenantId = TenantContext.getTenantId() ?: throw IllegalStateException("Missing tenant")
if (!subjectRepository.existsByTenantIdAndPatientIdAndUserId(tenantId, patientId, userId)) {
val link = PatientSubject(UUID.randomUUID().toString(), patientId, userId)
link.tenantId = tenantId
subjectRepository.save(link)
}
}

View file

@ -79,28 +79,6 @@ class InvitationServiceTest {
assertEquals(Invitation.STATUS_ACCEPTED, invitation.status)
assertNotNull(invitation.acceptedAt)
assertEquals(user, invitation.acceptedBy)
org.mockito.kotlin.verify(subjectRepository).save(org.mockito.kotlin.check {
assertEquals("t1", it.tenantId)
})
}
@Test
fun `creates patient invite with tenantId`() {
val email = "new@example.com"
whenever(patientRepository.save(any<Patient>())).thenAnswer { it.arguments[0] as Patient }
whenever(userRepository.save(any<User>())).thenAnswer { it.arguments[0] as User }
whenever(invitationRepository.save(any<Invitation>())).thenAnswer { it.arguments[0] as Invitation }
val result = service.createPatientInvite(email, "admin-1")
assertNotNull(result.token)
org.mockito.kotlin.verify(patientRepository).save(org.mockito.kotlin.check<Patient> {
assertEquals("t1", it.tenantId)
})
org.mockito.kotlin.verify(invitationRepository).save(org.mockito.kotlin.check<Invitation> {
assertEquals("t1", it.tenantId)
assertEquals(email, it.email)
})
}
@Test