@Mapper(uses = SomeMapper.class,imports = Date.class) public interface DomainModelMapper { Model domainToModel(Domain domain); @Mapping(target="dateUpdated", source="dateUpdated" ,defaultExpression = "java(Date.from(java.time.OffsetDateTime.now().toInstant()))") @Mapping(target="id.key",source="id.key",defaultExpression = "java(com.datastax.driver.core.utils.UUIDs.timeBased())") Domain modelToDomain(Model model); } I have a mapper class to do some Date conversions
public class SomeMapper { public Date OffsetDateTimeToDate(OffsetDateTime offsetDateTime) { return offsetDateTime != null ? Date.from(offsetDateTime.toInstant()):null; } public OffsetDateTime DateToOffsetDateTime(Date date) { return date != null ? date.toInstant().atOffset(ZoneOffset.UTC) : null; } } This is my service class where I use DomainModelMapper
@Service public class SomeServiceImpl implements SomeService { @Autowired someRepository someRepository; private final DomainModelMapper domainToModelMapper = Mappers.getMapper(DomainModelMapper.class); @Override public Model saveSomething(Model model) { return DomainModelMapper.domainToModel(someRepository .save(DomainModelMapper.modelToDomain(model))); } How can I unit test saveSomething(Model model) method? How I can inject Mapstruct classes or mock them?