44using Quartz . Impl ;
55using System ;
66using System . Collections . Generic ;
7+ using Moq ;
8+ using Quartz ;
79
810namespace IntegrationEngine . Tests . Scheduler
911{
1012 public class EngineSchedulerTest : TestBase < EngineScheduler >
1113 {
1214 public CronTrigger CronTrigger { get ; set ; }
15+ public Mock < IScheduler > MockScheduler { get ; set ; }
16+
1317 [ SetUp ]
1418 public void SetUp ( )
1519 {
@@ -19,23 +23,36 @@ public void SetUp()
1923 CronExpressionString = "* * * * * ?" ,
2024 } ;
2125 Subject . IntegrationJobTypes = new List < Type > ( ) { IntegrationJobStub . Type } ;
22- Subject . Scheduler = StdSchedulerFactory . GetDefaultScheduler ( ) ;
26+ MockScheduler = new Mock < IScheduler > ( ) ;
27+ Subject . Scheduler = MockScheduler . Object ;
2328 }
2429
2530 [ Test ]
2631 public void ShouldScheduleCronTriggerWithoutAnExceptionThrown ( )
2732 {
33+ MockScheduler . Setup ( x => x . ScheduleJob ( It . IsAny < IJobDetail > ( ) , It . IsAny < ITrigger > ( ) ) ) ;
34+
2835 Subject . ScheduleJobWithTrigger ( CronTrigger ) ;
36+
37+ MockScheduler . Verify (
38+ x => x . ScheduleJob ( It . IsAny < IJobDetail > ( ) , It . IsAny < ITrigger > ( ) ) ,
39+ Times . Once ) ;
2940 }
3041
3142 [ Test ]
3243 public void ShouldDeleteTrigger ( )
3344 {
34- Subject . ScheduleJobWithTrigger ( CronTrigger ) ;
45+ var expectedGroup = "IntegrationEngine.Tests.IntegrationJobStub" ;
46+ var expectedName = "one" ;
47+ MockScheduler . Setup ( x => x . UnscheduleJob ( It . Is < TriggerKey > ( y => y . Group == expectedGroup && y . Name == expectedName ) ) )
48+ . Returns ( true ) ;
3549
3650 var result = Subject . DeleteTrigger ( CronTrigger ) ;
3751
3852 Assert . That ( result , Is . True ) ;
53+ MockScheduler . Verify (
54+ x => x . UnscheduleJob ( It . Is < TriggerKey > ( y => y . Group == expectedGroup && y . Name == expectedName ) ) ,
55+ Times . Once ) ;
3956 }
4057
4158 [ Test ]
0 commit comments