diff --git a/src/main/java/net/geant/nmaas/portal/api/bulk/BulkController.java b/src/main/java/net/geant/nmaas/portal/api/bulk/BulkController.java
index 462384d16939f203d8459a25964efefdd68c3a15..45713f6c1cb3eba96d97eef12402dd5ca0b661e1 100644
--- a/src/main/java/net/geant/nmaas/portal/api/bulk/BulkController.java
+++ b/src/main/java/net/geant/nmaas/portal/api/bulk/BulkController.java
@@ -197,7 +197,6 @@ public class BulkController {
         if (removeApps) {
             bulkApplicationService.deleteAppInstancesFromBulk(bulk.get());
         }
-//        bulkDeploymentRepository.delete(bulk.get());
         bulk.get().setDeleted(true);
         bulk.get().setState(BulkDeploymentState.REMOVED);
         bulkDeploymentRepository.save(bulk.get());
@@ -213,7 +212,7 @@ public class BulkController {
     @GetMapping("/refresh/{id}")
     @PreAuthorize("hasRole('ROLE_SYSTEM_ADMIN') || hasRole('ROLE_GROUP_MANAGER')")
     public ResponseEntity<BulkDeploymentViewS> getRefreshedState(@PathVariable Long id) {
-        return ResponseEntity.ok(mapToView(this.bulkApplicationService.updateState(id)));
+        return ResponseEntity.ok(mapToView(bulkApplicationService.updateState(id)));
     }
 
     @GetMapping("/queue/{id}")
diff --git a/src/main/java/net/geant/nmaas/portal/service/impl/DashboardServiceImpl.java b/src/main/java/net/geant/nmaas/portal/service/impl/DashboardServiceImpl.java
index 3ff7e127998e89caafc05c910a4c0854cc653818..fa863c48e88eff76ce1649c704b4af6e1cddf66e 100644
--- a/src/main/java/net/geant/nmaas/portal/service/impl/DashboardServiceImpl.java
+++ b/src/main/java/net/geant/nmaas/portal/service/impl/DashboardServiceImpl.java
@@ -27,7 +27,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
-
 @Service
 @RequiredArgsConstructor
 @Slf4j
@@ -41,7 +40,6 @@ public class DashboardServiceImpl implements DashboardService {
     private final ApplicationBaseRepository applicationBaseRepository;
     private final UserLoginRegisterService userLoginRegisterService;
 
-
     @Override
     public DashboardView getSystemDashboard(OffsetDateTime startDate, OffsetDateTime endDate) {
         log.info("Processing dashboard data request for period {} - {}", startDate, endDate);
diff --git a/src/test/java/net/geant/nmaas/portal/api/bulk/BulkControllerTest.java b/src/test/java/net/geant/nmaas/portal/api/bulk/BulkControllerTest.java
index 376fc1b6858471da45da12a65b6659347e9b9e77..acba6d77ed335a7c4dc7f71a8e68d8c99d215d71 100644
--- a/src/test/java/net/geant/nmaas/portal/api/bulk/BulkControllerTest.java
+++ b/src/test/java/net/geant/nmaas/portal/api/bulk/BulkControllerTest.java
@@ -11,6 +11,7 @@ import net.geant.nmaas.portal.service.BulkDomainService;
 import net.geant.nmaas.portal.service.UserService;
 import org.junit.jupiter.api.Test;
 import org.modelmapper.ModelMapper;
+import org.springframework.dao.PermissionDeniedDataAccessException;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.mock.web.MockMultipartFile;
@@ -23,10 +24,12 @@ import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
 
+import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
@@ -91,22 +94,19 @@ public class BulkControllerTest {
             when(principalMock.getName()).thenReturn("user");
             when(userService.findByUsername("user")).thenReturn(Optional.of(new User("user")));
 
-            ResponseEntity<BulkDeploymentViewS> response = bulkController.uploadApplications(principalMock, "applicationName", 2, file);
+            bulkController.uploadApplications(principalMock, "applicationName", 2, file);
         });
     }
 
     @Test
     void shouldGetDomainBulksAsGroupManager() {
         when(principalMock.getName()).thenReturn("user");
-        User user = new User("user");
-        user.setId(10L);
-        when(userService.findByUsername("user")).thenReturn(Optional.of(user));
-        when(userService.findById(10L)).thenReturn(Optional.of(user));
         BulkDeployment viewS = new BulkDeployment();
         viewS.setType(BulkType.DOMAIN);
-        viewS.setCreator(user);
+        viewS.setCreator(setUpMockUser("user", 10L));
         viewS.setDeleted(false);
         when(bulkDeploymentRepository.findByType(BulkType.DOMAIN)).thenReturn(List.of(viewS));
+
         assertEquals(1, Objects.requireNonNull(bulkController.getDomainDeploymentRecordsRestrictedToOwner(principalMock).getBody()).size());
     }
 
@@ -136,4 +136,91 @@ public class BulkControllerTest {
         assertEquals(1, Objects.requireNonNull(bulkController.getAppDeploymentRecordsRestrictedToOwner(principalMock).getBody()).size());
     }
 
+    @Test
+    void shouldNotRemoveNotFoundBulkDeployment() {
+        when(principalMock.getName()).thenReturn("user");
+        setUpMockUser("user", 10L);
+        when(bulkDeploymentRepository.findById(5L)).thenReturn(Optional.empty());
+
+        ResponseEntity<Void> response = bulkController.removeBulkDeployment(5L, false, principalMock);
+        assertThat(response.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND);
+    }
+
+    @Test
+    void shouldRemoveBulkDeployment() {
+        when(principalMock.getName()).thenReturn("user");
+
+        BulkDeployment bulk = new BulkDeployment();
+        bulk.setId(5L);
+        bulk.setType(BulkType.APPLICATION);
+        bulk.setCreator(setUpMockUser("user", 10L));
+        bulk.setDeleted(false);
+        when(bulkDeploymentRepository.findById(5L)).thenReturn(Optional.of(bulk));
+
+        ResponseEntity<Void> response = bulkController.removeBulkDeployment(5L, false, principalMock);
+
+        verifyNoInteractions(bulkApplicationService);
+        verify(bulkDeploymentRepository).save(any());
+        assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
+    }
+
+    @Test
+    void shouldRemoveBulkDeploymentWithApplications() {
+        when(principalMock.getName()).thenReturn("user");
+
+        BulkDeployment bulk = new BulkDeployment();
+        bulk.setId(5L);
+        bulk.setType(BulkType.APPLICATION);
+        bulk.setCreator(setUpMockUser("user", 10L));
+        bulk.setDeleted(false);
+        when(bulkDeploymentRepository.findById(5L)).thenReturn(Optional.of(bulk));
+
+        ResponseEntity<Void> response = bulkController.removeBulkDeployment(5L, true, principalMock);
+
+        verify(bulkApplicationService).deleteAppInstancesFromBulk(bulk);
+        verify(bulkDeploymentRepository).save(any());
+        assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
+    }
+
+    @Test
+    void shouldForbidRemovalOfBulkDeploymentForNonCreator() {
+        when(principalMock.getName()).thenReturn("user");
+        setUpMockUser("user", 10L);
+
+        BulkDeployment bulk = new BulkDeployment();
+        bulk.setId(5L);
+        bulk.setType(BulkType.APPLICATION);
+        bulk.setCreator(setUpMockUser("creator", 11L));
+        bulk.setDeleted(false);
+        when(bulkDeploymentRepository.findById(5L)).thenReturn(Optional.of(bulk));
+
+        assertThrows(PermissionDeniedDataAccessException.class, () ->
+            bulkController.removeBulkDeployment(5L, true, principalMock)
+        );
+
+        verifyNoInteractions(bulkApplicationService);
+        verify(bulkDeploymentRepository, times(0)).save(any());
+    }
+
+    @Test
+    void shouldGetBulkDeploymentRefreshedState() {
+        BulkDeployment bulk = new BulkDeployment();
+        bulk.setId(5L);
+        bulk.setType(BulkType.APPLICATION);
+        bulk.setCreator(setUpMockUser("creator", 11L));
+        bulk.setDeleted(false);
+        when(bulkApplicationService.updateState(5L)).thenReturn(bulk);
+
+        ResponseEntity<BulkDeploymentViewS> response = bulkController.getRefreshedState(5L);
+        assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
+    }
+
+    private User setUpMockUser(String username, long id) {
+        User user = new User(username);
+        user.setId(id);
+        when(userService.findByUsername(username)).thenReturn(Optional.of(user));
+        when(userService.findById(id)).thenReturn(Optional.of(user));
+        return user;
+    }
+
 }
\ No newline at end of file
diff --git a/src/test/java/net/geant/nmaas/portal/api/configuration/InitScriptsControllerTest.java b/src/test/java/net/geant/nmaas/portal/api/configuration/InitScriptsControllerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..870572a8fffa1f2940bfdd81219759c903a1a22a
--- /dev/null
+++ b/src/test/java/net/geant/nmaas/portal/api/configuration/InitScriptsControllerTest.java
@@ -0,0 +1,32 @@
+package net.geant.nmaas.portal.api.configuration;
+
+import net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.components.helm.InitScriptsStateService;
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+public class InitScriptsControllerTest {
+
+    private final InitScriptsStateService service = mock(InitScriptsStateService.class);
+
+    private final InitScriptsController controller = new InitScriptsController(service);
+
+    @Test
+    void shouldEnableFlagOnStart() {
+        assertThat(controller.isInitInProgress()).isFalse();
+        controller.startInitScripts();
+        assertThat(controller.isInitInProgress()).isTrue();
+    }
+
+    @Test
+    void shouldDisableFlagOnEnd() {
+        assertThat(controller.isInitInProgress()).isFalse();
+        controller.endInitScripts();
+        assertThat(controller.isInitInProgress()).isFalse();
+        verify(service, times(1)).executeHelmRepoUpdate();
+    }
+
+}