Я хочу написать тест для метода duplicatingRow()
в Jhipster.
Customer1 уже находится в таблице. Если мне нужно дублировать его, все атрибуты должны иметь одинаковое значение, кроме id
. Идентификатор автоматически генерируется здесь.
Мой метод
@PostMapping("/duplicatingRow")
@Timed
public ResponseEntity<Customer> duplicatingRow(@RequestBody Customer customer) throws URISyntaxException {
Optional<Customer> duplicatecustomer = customerRepository.findById(customer.getId());
Customer custom = duplicatecustomer.get();
custom.setId(null);
Customer result = customerRepository.save(custom);
return ResponseEntity.ok().build();
мой тестовый пример
@Test
@Transactional
public void duplicateCustomer() throws Exception {
// Initialize the database
customerRepository.saveAndFlush(customer);
int databaseSizeBeforeUpdate = customerRepository.findAll().size();
restCustomerMockMvc.perform(post("/api/duplicatecustomers")
.contentType(TestUtil.APPLICATION_JSON_UTF8)
.content(TestUtil.convertObjectToJsonBytes(customer)))
.andExpect(status().isOk()).andDo(print());
// Validate the Customer in the database
List<Customer> customerList = customerRepository.findAll();
assertThat(customerList).hasSize(databaseSizeBeforeUpdate +1);
Customer testCustomer1 = customerList.get(customerList.size() -1);
System.out.print("test pro is"+testCustomer1);
}
Но если я запускаю тестовый пример, в котором я получил ошибку, исходный идентификатор клиента становится равным NULL. Я не знаю, хочу сделать. Как я могу создать новую Дублирующую Строку, не затрагивая оригинальную ???