'AssertionFailedError deleteById

I'm new to Junit/Mockito and this is my very first test for employee service class.

I'm wondering if this test of deleteById method does work well.

assertThat(expectedEmployee).isNull(); fails with message:

AssertionFailError: 
Expected: null. Actual: Employee(id=1). 

However verify(employeeRepository).deleteById(employee.getId()); works well.

When I'm testing the code with postman, the method works and an employee is deleted.

Employee repository:

    @Repository
    public interface EmployeeRepository extends JpaRepository<Employee, Long> {
    }

Employee service:

    public void deleteById(Long id) {
            employeeRepository.deleteById(id);
        } 

Employee controller:

    @DeleteMapping("/employees/{id}")
        public void deleteEmployeeById(@PathVariable Long id) {
            employeeManager.deleteById(id);
        }

Test class:

      @ExtendWith(MockitoExtension.class)
        class EmployeeManagerTest {
    
        @Mock
        private EmployeeRepository employeeRepository;
    
        @InjectMocks
        private EmployeeManager employeeManager;
    

        @Test
        void shouldDeleteEmployeeById() {
            
            Employee employee = new Employee();
            employee.setId(1L);

            when(employeeRepository.findById(employee.getId())).thenReturn(Optional.of(employee));
        
            employeeManager.deleteById(employee.getId());
            
            Employee expectedEmployee = employeeManager.findById(employee.getId()).get();
            
            verify(employeeRepository).deleteById(employee.getId()); -> this works well 
            
           // assertThat(expectedEmployee).isNull(); // -> this fails
        }


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source