Advertisement
Georgi_Benchev

Untitled

Jan 22nd, 2025
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.55 KB | None | 0 0
  1.  @Test
  2.     public void createBeer_Should_Return_CreatedBeer_When_ValidBeerDto() throws Exception {
  3.         // Arrange
  4.         BeerDto beerDto = createMockBeerDto();
  5.         Beer mockBeer = createMockBeer();
  6.  
  7.         Mockito.when(beerMapper.fromDto(Mockito.any(BeerDto.class))).thenReturn(createMockBeerFromBeerDto());
  8.         Mockito.when(authenticationHelper.tryGetUser(Mockito.any())).thenReturn(createMockUserAdmin());
  9.         Mockito.when(beerService.create(Mockito.any(Beer.class), Mockito.any(User.class))).thenReturn(mockBeer);
  10.  
  11.         // Act, Assert
  12.         mockMvc.perform(MockMvcRequestBuilders.post("/api/beers")
  13.                         .contentType(MediaType.APPLICATION_JSON)
  14.                         .content("{\"name\": \"MockBeerName\", \"abv\": 5.5, \"styleId\": 1}")
  15.                         .header(HttpHeaders.AUTHORIZATION, "valid"))
  16.                 .andExpect(MockMvcResultMatchers.status().isCreated())
  17.                 .andExpect(MockMvcResultMatchers.jsonPath("$.name").value("MockBeerName"))
  18.                 .andExpect(MockMvcResultMatchers.jsonPath("$.style.name").value("MockStyleName"))  // Corrected path to style name
  19.                 .andExpect(MockMvcResultMatchers.jsonPath("$.abv").value(5.5));
  20.     }
  21.  
  22.     @Test
  23.     public void createBeer_ShouldReturn_NotFound_When_StyleId_IsInvalid() throws Exception {
  24.         // Arrange
  25.         BeerDto beerDto = createMockBeerDto();
  26.         Beer mockBeer = createMockBeer();
  27.  
  28.         Mockito.when(beerMapper.fromDto(Mockito.any(BeerDto.class))).thenThrow(EntityNotFoundException.class);
  29.  
  30.         // Act, Assert
  31.         mockMvc.perform(MockMvcRequestBuilders.post("/api/beers")
  32.                         .contentType(MediaType.APPLICATION_JSON)
  33.                         .content("{\"name\": \"MockBeerName\", \"abv\": 5.5, \"styleId\": 1}")
  34.                         .header(HttpHeaders.AUTHORIZATION, "valid"))
  35.                 .andExpect(MockMvcResultMatchers.status().isNotFound());
  36.     }
  37.  
  38.     @Test
  39.     public void createBeer_ShouldReturn_CONFLICT_When_DuplicateName() throws Exception {
  40.        /* // no idea why moking the beerService doesnot work
  41.         Mockito.when(beerService.create(Mockito.any(Beer.class), Mockito.any(User.class)))
  42.                 .thenThrow(DuplicateEntityException.class);*/
  43.         // Arrange
  44.         Mockito.when(beerMapper.fromDto(Mockito.any(BeerDto.class)))
  45.                 .thenThrow(DuplicateEntityException.class);
  46.  
  47.         // Act, Assert
  48.         mockMvc.perform(MockMvcRequestBuilders.post("/api/beers")
  49.                         .contentType(MediaType.APPLICATION_JSON)
  50.                         .content("{\"name\": \"MockBeerName\", \"abv\": 5.5, \"styleId\": 1}")
  51.                         .header(HttpHeaders.AUTHORIZATION, "valid"))
  52.                 .andExpect(MockMvcResultMatchers.status().isConflict());
  53.     }
  54.  
  55.     @Test
  56.     public void createBeer_ShouldReturn_Unauthorized_When_UnauthorizedExcThrown() throws Exception {
  57.         // Arrange
  58.         BeerDto beerDto = createMockBeerDto();
  59.         Beer mockBeer = createMockBeer();
  60.  
  61.         Mockito.when(authenticationHelper.tryGetUser(Mockito.any()))
  62.                 .thenThrow(UnauthorizedAccessException.class);
  63.  
  64.         // Act, Assert
  65.         mockMvc.perform(MockMvcRequestBuilders.post("/api/beers")
  66.                         .contentType(MediaType.APPLICATION_JSON)
  67.                         .content("{\"name\": \"MockBeerName\", \"abv\": 5.5, \"styleId\": 1}")
  68.                         .header(HttpHeaders.AUTHORIZATION, "valid"))
  69.                 .andExpect(MockMvcResultMatchers.status().isUnauthorized());
  70.     }
  71.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement