ребята. Хелпаните. Я сделал так, что мок сервиса создаётся через интерфейс, но он выдаёт гораздо больше эксепшенов при проксировании мока бина и при том, что в логе те поля, что AOP считает финальными, они на самом деле public void, а не piblic void final. Вероятнее всего, что нужно изменить аспект для создания проксирования этого мока, но как я хз. Так глубоко в спринг я ещё не залезал. Вот тот метод, из за чего это происходит:
@Bean
public IEmailServiceMockable emailServiceBean(){
return mock(EmailService.class);
}
@Slf4j @Transactional public class EmailService implements IEmailServiceMockable{
/*....
@Autowired private поля
private константы
public и private методы
*/
}
@Service public interface IEmailServiceMockable {
void jobFinishedNotificationAdmin(Job job);
void jobFinishedNotificationEmployee(Job job);
void jobFinishedNotificationCustomer(Job job);
void newUserNotificationEmail(CreateUserDto userDto, Long userId);
void newUserNotificationToAdminEmail(CreateUserDto userDto, Long userId);
void userBlockingNotificationEmail(String firstName, String lastName, String reason, String userEmail);
void workerRevokeNotificationToAdmin(User worker, H2HObject object, String reason);
void complainJobHoursFromCustomerToAdmin(ComplainJobHoursDto dto);
void workerRevokeNotificationToEmployee(User worker, H2HObject object, String reason);
void complainInvoiceNotificationToAdmin(ComplainInvoiceDto complainInvoice, Long customerId);
void hoursChangedNotificationForCustomer(Job job);
void hoursChangedNotificationForEmployee(Job job);
void workerSetHoursNotification(Job job);
void searchingForEmployeeNotificationToAdmin(User user, Job job);
}