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

OZG-2250 cleanup; add Test to ITCase; adjust e2e test logic

parent 65b75371
Branches
Tags
No related merge requests found
......@@ -168,14 +168,14 @@ describe('Vorgang Detailansicht by role', () => {
describe('annehmen', () => {
it('should NOT be visible', () => {
exist(vorgangSubnavigation.getAnnehmenByIconButton());
notExist(vorgangSubnavigation.getAnnehmenByIconButton());
})
})
describe('verwerfen', () => {
it('should NOT be visible', () => {
exist(vorgangSubnavigation.getVerwerfenIconButton());
notExist(vorgangSubnavigation.getVerwerfenIconButton());
})
})
})
......@@ -209,22 +209,19 @@ describe('Vorgang Detailansicht by role', () => {
})
})
describe('Formular button', () => {
describe('Formular button', () => {
describe('annehmen', () => {
it('should be visible', () => {
exist(formularButtons.getAnnehmenButton());
it('should NOT be visible', () => {
notExist(formularButtons.getAnnehmenButton());
})
})
describe('verwerfen', () => {
it('should be visible', () => {
exist(formularButtons.getVerwerfenButton());
})
it('should NOT be visible', () => {
notExist(formularButtons.getVerwerfenButton());
})
})
})
......
......@@ -16,6 +16,8 @@ import org.springframework.stereotype.Service;
@Service
public class CurrentUserService {
public static final String VERIFY_HAS_ROLE_VERWALTUNG_USER = "@currentUserService.hasRole(\"" + UserRole.VERWALTUNG_USER + "\")";
static final String USER_ATTRIBUTE_ORGANISATIONSEINHEIT_ID = "organisationseinheitId";
public boolean hasRole(String role) {
......
......@@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
import de.itvsh.goofy.common.binaryfile.BinaryFileController;
import de.itvsh.goofy.common.binaryfile.FileId;
import de.itvsh.goofy.common.file.OzgFile;
import de.itvsh.goofy.common.user.UserRole;
import de.itvsh.goofy.common.user.CurrentUserService;
@RestController
@RequestMapping(WiedervorlageController.WIEDERVORLAGE_PATH)
......@@ -28,7 +28,6 @@ public class WiedervorlageController {
static final String WIEDERVORLAGE_PATH = "/api/wiedervorlages"; // NOSONAR
static final String PARAM_VORGANG_ID = "vorgangId";
private static final String USER_ROLE_VERWALTUNG_USER = "@currentUserService.hasRole(\"" + UserRole.VERWALTUNG_USER + "\")";
private static final Predicate<Wiedervorlage> IS_NOT_DONE = wiedervorlage -> !wiedervorlage.isDone();
@Autowired
......@@ -36,7 +35,7 @@ public class WiedervorlageController {
@Autowired
private WiedervorlageModelAssembler modelAssembler;
@PreAuthorize(USER_ROLE_VERWALTUNG_USER)
@PreAuthorize(CurrentUserService.VERIFY_HAS_ROLE_VERWALTUNG_USER)
@GetMapping("/{wiedervorlageId}")
public EntityModel<Wiedervorlage> getById(@PathVariable String wiedervorlageId) {
return modelAssembler.toModel(service.getById(wiedervorlageId));
......
......@@ -242,20 +242,20 @@ class VorgangModelAssemblerTest {
var link = toModel().getLink(VorgangModelAssembler.REL_VORGANG_ASSIGN);
assertThat(link).isPresent().get().extracting(Link::getHref)
.isEqualTo(String.format("/api/vorgangs/%s/relations/%s/%s/commands", VorgangHeaderTestFactory.ID,
VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.VERSION));
assertThat(link).isPresent().get().extracting(Link::getHref).isEqualTo(buildCommandLink());
}
}
@Nested
class ForRoleVerwaltungUser {
@Test
void shouldHaveWiedervorlagenLink() {
@BeforeEach
void mockUserService() {
when(userService.hasRole(UserRole.VERWALTUNG_USER)).thenReturn(true);
}
@Test
void shouldHaveWiedervorlagenLink() {
var link = toModel().getLink(VorgangModelAssembler.REL_WIEDERVORLAGEN);
assertThat(link).isPresent().get().extracting(Link::getHref)
......@@ -264,15 +264,15 @@ class VorgangModelAssemblerTest {
@Test
void shouldHaveAssignLink() {
when(userService.hasRole(UserRole.VERWALTUNG_USER)).thenReturn(true);
var link = toModel().getLink(VorgangModelAssembler.REL_VORGANG_ASSIGN);
assertThat(link).isPresent().get().extracting(Link::getHref)
.isEqualTo(String.format("/api/vorgangs/%s/relations/%s/%s/commands", VorgangHeaderTestFactory.ID,
VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.VERSION));
assertThat(link).isPresent().get().extracting(Link::getHref).isEqualTo(buildCommandLink());
}
}
private String buildCommandLink() {
return String.format("/api/vorgangs/%s/relations/%s/%s/commands", VorgangHeaderTestFactory.ID,
VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.VERSION);
}
private EntityModel<Vorgang> toModel() {
......
......@@ -334,6 +334,7 @@ class VorgangCommandProzessorTest {
@EnumSource()
void shouldNotBePresent(VorgangStatus status) {
var processed = processor.process(buildVorgangInStatus(status));
assertThat(processed.getLinks()).isEmpty();
}
}
......
......@@ -31,9 +31,17 @@ public class WiedervorlageControllerITCase {
@Nested
class TestGetById {
@WithMockUser(roles = UserRole.EINHEITLICHER_ANSPRECHPARTNER)
@WithMockUser(roles = { UserRole.EINHEITLICHER_ANSPRECHPARTNER })
@Test
void shouldReturnForbiddenOnEaUser() throws Exception {
void shouldReturnForbiddenOnUserWithRoleEa() throws Exception {
var result = callEndpoint();
result.andExpect(status().isForbidden());
}
@WithMockUser(roles = UserRole.VERWALTUNG_POSTSTELLE)
@Test
void shouldReturnForbiddenOnUserWithRoleVerwaltungPoststelle() throws Exception {
var result = callEndpoint();
result.andExpect(status().isForbidden());
......@@ -41,7 +49,7 @@ public class WiedervorlageControllerITCase {
@WithMockUser(roles = UserRole.VERWALTUNG_USER)
@Test
void shouldReturnOnVerwaltungUser() throws Exception {
void shouldReturnResultOnUserWithRoleVerwaltungUser() throws Exception {
when(service.getById(any())).thenReturn(WiedervorlageTestFactory.create());
var result = callEndpoint();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment