public void RemoveFromQueue_WhenItemExists() { var job = new HangfireJob { InvocationData = InvocationDataStub, QueuedJobs = new List <HangfireQueuedJob> { new HangfireQueuedJob { Queue = "queue", FetchedAt = DateTime.UtcNow, }, }, }; UseContextSavingChanges(context => context.Add(job)); using var instance = new EFCoreFetchedJob(Storage, job.QueuedJobs.Single()); instance.RemoveFromQueue(); UseContext(context => { Assert.Single(context.Set <HangfireJob>()); Assert.Empty(context.Set <HangfireQueuedJob>()); }); Assert.True(Assert.IsType <bool>( instance.GetFieldValue("_completed"))); Assert.False(Assert.IsType <bool>( instance.GetFieldValue("_disposed"))); }
public void Ctor_CreatesInstance() { var queuedJob = new HangfireQueuedJob { Id = 1, JobId = 2, Queue = "queue", }; using var instance = new EFCoreFetchedJob(Storage, queuedJob); Assert.False(Assert.IsType <bool>( instance.GetFieldValue("_disposed"))); Assert.False(Assert.IsType <bool>( instance.GetFieldValue("_completed"))); Assert.Same(Storage, Assert.IsType <EFCoreStorage>( instance.GetFieldValue("_storage"))); Assert.Same(queuedJob, Assert.IsType <HangfireQueuedJob>( instance.GetFieldValue("_queuedJob"))); Assert.Equal(queuedJob.Id, instance.Id); Assert.Equal(queuedJob.JobId, instance.JobId); Assert.Equal(queuedJob.Queue, instance.Queue); Assert.Equal (queuedJob.JobId.ToString(CultureInfo.InvariantCulture), ((IFetchedJob)instance).JobId); }
public void RemoveFromQueue_WhenItemAlreadyRemoved() { var item = new HangfireQueuedJob { Id = 1, Queue = "queue", FetchedAt = DateTime.UtcNow, }; using var instance = new EFCoreFetchedJob(Storage, item); instance.RemoveFromQueue(); UseContext(context => Assert.Empty(context.Set <HangfireQueuedJob>())); Assert.True(Assert.IsType <bool>( instance.GetFieldValue("_completed"))); Assert.False(Assert.IsType <bool>( instance.GetFieldValue("_disposed"))); }