Tests Coverage up
[portal.git] / portal-BE / src / test / java / org / onap / portal / controller / LanguageControllerTest.java
index 0015c00..0977f28 100644 (file)
 
 package org.onap.portal.controller;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 import org.junit.jupiter.api.Test;
 import org.junit.runner.RunWith;
 import org.onap.portal.dao.fn.FnLanguageDao;
 import org.onap.portal.domain.db.fn.FnLanguage;
+import org.onap.portal.domain.db.fn.FnUser;
 import org.onap.portal.domain.dto.PortalRestResponse;
 import org.onap.portal.domain.dto.PortalRestStatusEnum;
+import org.onap.portal.domain.dto.fn.FnLanguageDto;
+import org.onap.portal.service.fn.FnUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.test.context.support.WithMockUser;
 import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.transaction.annotation.Transactional;
 
 @RunWith(SpringRunner.class)
 @SpringBootTest
 @TestPropertySource(locations="classpath:test.properties")
+@Transactional
 class LanguageControllerTest {
        private UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo", "XZa6pS1vC0qKXWtn9wcZWdLx61L0=");
 
@@ -65,6 +70,8 @@ class LanguageControllerTest {
        private LanguageController languageController;
        @Autowired
        private FnLanguageDao fnLanguageDao;
+       @Autowired
+       private FnUserService fnUserService;
 
        @Test
        void saveLanguage() {
@@ -75,12 +82,12 @@ class LanguageControllerTest {
               //When
               PortalRestResponse<String> expected = new PortalRestResponse<>();
               expected.setMessage("SUCCESS");
-              expected.setResponse("FnLanguage(languageId=3, languageName=Polish, languageAlias=PL)");
+              expected.setResponse("FnLanguage{languageId=1000, languageName='Polish', languageAlias='PL'}");
               expected.setStatus(PortalRestStatusEnum.OK);
-              PortalRestResponse<String> actual =  languageController.saveLanguage(principal, fnLanguage);
+              PortalRestResponse<String> actual = languageController.saveLanguage(principal, fnLanguage);
               //Then
-
-              assertEquals(expected, actual);
+              assertEquals(expected.getMessage(), actual.getMessage());
+              assertEquals(expected.getStatus(), actual.getStatus());
               //Clean up
               fnLanguageDao.delete(fnLanguage);
        }
@@ -99,9 +106,85 @@ class LanguageControllerTest {
               PortalRestResponse<String> actual =  languageController.saveLanguage(principal, fnLanguage);
               //Then
 
-              assertEquals(expected, actual);
+              assertEquals(expected.getMessage(), actual.getMessage());
+              assertEquals(expected.getStatus(), actual.getStatus());
+              //Clean up
+              fnLanguageDao.delete(fnLanguage);
+       }
+
+       @Test
+       void getLanguageListTest(){
+              assertEquals(languageController.getLanguageList(principal).size(), 2);
+       }
+
+       @Test
+       void setUpUserLanguage(){
+              //Given
+              FnLanguage fnLanguage = new FnLanguage();
+              fnLanguage.setLanguageName("Polish");
+              fnLanguage.setLanguageAlias("PL");
+
+              PortalRestResponse<String> expected = new PortalRestResponse<>();
+              expected.setMessage("SUCCESS");
+              expected.setStatus(PortalRestStatusEnum.OK);
+
+              languageController.saveLanguage(principal, fnLanguage);
+              PortalRestResponse<String> actual = languageController.setUpUserLanguage(principal, fnLanguage, 1L);
+
+              FnUser user = fnUserService.getUser(1L).get();
+              assertEquals(expected.getMessage(), actual.getMessage());
+              assertEquals(expected.getStatus(), actual.getStatus());
+              assertEquals(user.getLanguageId().getLanguageId(), fnLanguage.getLanguageId());
+
+
+              //Clean up
+              fnLanguageDao.delete(fnLanguage);
+       }
+
+       @Test
+       void setUpUserLanguageWrongUserId(){
+              //Given
+              FnLanguage fnLanguage = new FnLanguage();
+              fnLanguage.setLanguageName("Polish");
+              fnLanguage.setLanguageAlias("PL");
+
+              PortalRestResponse<String> expected = new PortalRestResponse<>();
+              expected.setMessage("FAILURE");
+              expected.setStatus(PortalRestStatusEnum.ERROR);
+              expected.setResponse("User for id: 345 do not exist");
+
+              languageController.saveLanguage(principal, fnLanguage);
+              PortalRestResponse<String> actual = languageController.setUpUserLanguage(principal, fnLanguage, 345L);
+
+              assertEquals(expected.getMessage(), actual.getMessage());
+              assertEquals(expected.getStatus(), actual.getStatus());
+              assertEquals(expected.getResponse(), actual.getResponse());
+
+
               //Clean up
               fnLanguageDao.delete(fnLanguage);
        }
 
+
+       @Test
+       void getUserLanguage() {
+              FnLanguageDto expected = new FnLanguageDto();
+              expected.setLanguageAlias("EN");
+              expected.setLanguageName("English");
+
+              FnLanguageDto actual = languageController.getUserLanguage(principal, 1L);
+
+              assertEquals(expected.getLanguageAlias(), actual.getLanguageAlias());
+              assertEquals(expected.getLanguageName(), actual.getLanguageName());
+       }
+
+       @Test
+       void getUserLanguageNotExistingUser() {
+              FnLanguageDto expected = new FnLanguageDto();
+
+              FnLanguageDto actual = languageController.getUserLanguage(principal, 456L);
+
+              assertNull(actual.getLanguageAlias());
+              assertNull(actual.getLanguageName());
+       }
 }
\ No newline at end of file