Skip to content

Commit

Permalink
Cycle 6: RED, Service: save employee
Browse files Browse the repository at this point in the history
  • Loading branch information
gungor committed May 4, 2021
1 parent 2d293f5 commit 20a2468
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/main/java/tddexample/repository/EmployeeRepository.java
@@ -0,0 +1,9 @@
package tddexample.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import tddexample.model.entity.Employee;

public interface EmployeeRepository extends JpaRepository<Employee, Integer> {


}
42 changes: 42 additions & 0 deletions src/test/java/tddexample/service/EmployeeServiceTest.java
@@ -0,0 +1,42 @@
package tddexample.service;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import tddexample.model.entity.Employee;
import tddexample.model.rest.EmployeeSaveRequest;
import tddexample.repository.EmployeeRepository;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*;

@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
@ExtendWith(SpringExtension.class)
@SpringBootTest
public class EmployeeServiceTest {

@Autowired
private EmployeeService employeeService;

@MockBean
private EmployeeRepository employeeRepository;

@Test
public void shouldSaveEmployee(){
Employee employee = new Employee(20, "Frodo Baggins");
when(employeeRepository.save(new Employee(null, "Frodo Baggins")))
.thenReturn(employee);

EmployeeSaveRequest request = new EmployeeSaveRequest("Frodo Baggins");
Employee savedEmployee = employeeService.saveEmployee(request);

verify(employeeRepository,times(1)).save(any(Employee.class));
Assertions.assertEquals(employee,savedEmployee);
}

}

0 comments on commit 20a2468

Please sign in to comment.