a dúvida que eu tenho é a seguinte, estou usando o id do tipo UUID, para gerar um id aleatório , ao fazer os testes unitários, não consigo fazer o put ou getId, pelo motivo que ele gera automaticamente e não consigo salvar um id especifico, estou pensando em ter dois ids na entidade um para gerar automatico outro nao, pois sempre que tento salvar um id especifico ele gera outra ai nao consigo fazer o put. segue codigo. alguem pode ajudar?
SpringBootTest @AutoConfigureMockMvc @TestInstance(TestInstance.Lifecycle.PER_CLASS) class VideosControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
private VideoCadastroDto videoCadastroDto;
private final UUID repeatId = UUID.fromString("3fa85f64-5717-4562-b3fc-2c963f66afa6");
@MockBean
private Categorias categorias;
@MockBean
private Videos videos;
private UUID uuid = UUID.randomUUID();
private final UUID notFoundId = UUID.fromString("0fa00f00-0000-0000-b0fc-0c000f00afa0");
@Autowired
private VideosRepository videosRepository;
@Autowired
private CategoriasRepository categoriasRepository;
private final URI uri = URI.create("/videos");
private final URI uriWithId = URI.create("/videos/");
private final URI uriNotFound = URI.create("/videos/"+notFoundId);
@Autowired
private ObjectMapper objectMapper;
@BeforeAll
public void setUpAll() {
videos = new Videos(repeatId,"aa","aa","aa");
videos.setId(repeatId);
videosRepository.save(videos);
categorias = new Categorias("teste", "teste");
categoriasRepository.save(categorias);
}
@BeforeEach
public void setup() {
videoCadastroDto = new VideoCadastroDto("aaa", "aa", "aa", categorias.getId());
}
@Test
public void shouldReturn201WhenPosting() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.post(uri)
.content(objectMapper.writeValueAsString(videoCadastroDto))
.contentType(MediaType.APPLICATION_JSON))
.andDo(MockMvcResultHandlers.log())
.andExpect(MockMvcResultMatchers.status().isCreated());
}
@Test
public void shouldReturn201WhenPutting() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.put(uriWithId+repeatId.toString())
.content(objectMapper.writeValueAsString(videoCadastroDto))
.contentType(MediaType.APPLICATION_JSON))
.andDo(MockMvcResultHandlers.log())
.andExpect(MockMvcResultMatchers.status().isOk());
}