Skip to content
Snippets Groups Projects
Commit bc08a4b3 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-6867 OZG-6902 implement data access api

parent e5c07fd4
No related branches found
No related tags found
No related merge requests found
package de.ozgcloud.admin.organisationseinheit;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
@Repository
interface OrganisationsEinheitRepository extends MongoRepository<OrganisationsEinheit, String> {
}
package de.ozgcloud.admin.organisationseinheit;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
@Service
@RequiredArgsConstructor
class OrganisationsEinheitService {
private final OrganisationsEinheitRepository organisationsEinheitRepository;
public OrganisationsEinheit saveOrganisationsEinheit(OrganisationsEinheit organisationsEinheit) {
return organisationsEinheitRepository.save(organisationsEinheit);
}
}
package de.ozgcloud.admin.organisationseinheit;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
class OrganisationsEinheitServiceTest {
@InjectMocks
private OrganisationsEinheitService service;
@Mock
private OrganisationsEinheitRepository organisationsEinheitRepository;
@Nested
class TestSaveOrganisationsEinheit {
private final OrganisationsEinheit organisationsEinheit = OrganisationsEinheitTestFactory.create();
@BeforeEach
void setUp() {
when(organisationsEinheitRepository.save(organisationsEinheit)).thenReturn(organisationsEinheit);
}
@Test
void shouldCallRepository() {
service.saveOrganisationsEinheit(organisationsEinheit);
verify(organisationsEinheitRepository).save(organisationsEinheit);
}
@Test
void shouldReturnSavedOrganisationsEinheit() {
var saved = service.saveOrganisationsEinheit(organisationsEinheit);
assertThat(saved).isEqualTo(organisationsEinheit);
}
}
}
\ No newline at end of file
package de.ozgcloud.admin.organisationseinheit;
import java.util.List;
import java.util.UUID;
import com.thedeanda.lorem.LoremIpsum;
public class OrganisationsEinheitTestFactory {
public static final String ID = UUID.randomUUID().toString();
public static final String NAME = LoremIpsum.getInstance().getName();
public static final String ANSCHRIFT = LoremIpsum.getInstance().getCity();
public static final String ORGANISATIONS_EINHEIT_ID = UUID.randomUUID().toString();
public static final String UEBERGEORDNETE_ORGANISATIONSEINHEIT_ID = UUID.randomUUID().toString();
public static final List<String> UNTERGEORDNETE_ORGANISATIONSEINHEIT_ID = List.of(UUID.randomUUID().toString());
public static final String ZUFI_ID = UUID.randomUUID().toString();
public static final SyncResult SYNC_RESULT = SyncResult.OK;
public static OrganisationsEinheit create(){
return createBuilder().build();
}
public static OrganisationsEinheit.OrganisationsEinheitBuilder createBuilder(){
return OrganisationsEinheit.builder()
.id(ID)
.name(NAME)
.anschrift(ANSCHRIFT)
.organisationsEinheitId(ORGANISATIONS_EINHEIT_ID)
.uebergeordneteOrganisationseinheitId(UEBERGEORDNETE_ORGANISATIONSEINHEIT_ID)
.untergeordneteOrganisationseinheitId(UNTERGEORDNETE_ORGANISATIONSEINHEIT_ID)
.zufiId(ZUFI_ID)
.syncResult(SYNC_RESULT);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment