OrderModificationNotifierJobPerformable extends AbstractJobPerformable<NotifyUnprocessedOrderModificationsCronJobModel> { @Override public PerformResult perform(final NotifyUnprocessedOrderModificationsCronJobModel cronJobModel) { getWorldpayOrderModificationNotifierStrategy().notifyThatOrdersHaveNotBeenProcessed(cronJobModel.getUnprocessedTimeInDays()); return new PerformResult(CronJobResult.SUCCESS, CronJobStatus.FINISHED); }  @Override PerformResult perform(final NotifyUnprocessedOrderModificationsCronJobModel cronJobModel); WorldpayOrderModificationNotifierStrategy getWorldpayOrderModificationNotifierStrategy(); @Required void setWorldpayOrderModificationNotifierStrategy(WorldpayOrderModificationNotifierStrategy worldpayOrderModificationNotifierStrategy);  }
@Test public void performShouldInvokeStrategy() throws Exception { testObj.perform(notifyUnprocessedOrderModificationsCronJobModelMock); verify(worldpayOrderModificationNotifierStrategyMock).notifyThatOrdersHaveNotBeenProcessed(anyInt()); }