public void TrickleMessagesResumeMessageSending_Data() { var messageList = new List<SmsData> { new SmsData("9384938", "3943lasdkf;j"), new SmsData("99999", "dj;alsdfkj"), new SmsData("mobile", "sent") }; var timingManager = MockRepository.GenerateMock<ICalculateSmsTiming>(); var scheduledMessageStatuses = new List<ScheduledMessageStatus> { new ScheduledMessageStatus(new ScheduleSmsForSendingLater { SmsData = messageList[0]}, MessageStatus.Paused), new ScheduledMessageStatus(new ScheduleSmsForSendingLater { SmsData = messageList[1]}, MessageStatus.Paused), new ScheduledMessageStatus(new ScheduleSmsForSendingLater { SmsData = messageList[2]}, MessageStatus.Sent) }; var dateTime = DateTime.Now; var sagaData = new CoordinateSmsSchedulingData { Originator = "o", ScheduledMessageStatus = scheduledMessageStatuses, OriginalScheduleStartTime = dateTime.AddMinutes(-5) }; var resumeTricklesMessages = new ResumeTrickledMessages { ResumeTimeUtc = dateTime }; Test.Initialize(); Test.Saga<CoordinateSmsScheduler>() .WithExternalDependencies(s => { s.TimingManager = timingManager; s.Data = sagaData; }) .ExpectSend<ResumeScheduledMessageWithOffset>( l => l.ScheduleMessageId == scheduledMessageStatuses[0].ScheduledSms.ScheduleMessageId && l.Offset == new TimeSpan(0, 0, 5, 0)) .ExpectSend<ResumeScheduledMessageWithOffset>( l => l.ScheduleMessageId == scheduledMessageStatuses[1].ScheduledSms.ScheduleMessageId && l.Offset == new TimeSpan(0, 0, 5, 0)) .When(s => s.Handle(resumeTricklesMessages)); Assert.That(scheduledMessageStatuses[0].MessageStatus, Is.EqualTo(MessageStatus.Paused)); Assert.That(scheduledMessageStatuses[1].MessageStatus, Is.EqualTo(MessageStatus.Paused)); timingManager.VerifyAllExpectations(); }
public void TrickleMessagesResumeMessageSending_Data() { var ravenScheduleDocuments = MockRepository.GenerateMock<IRavenScheduleDocuments>(); var timingManager = MockRepository.GenerateMock<ICalculateSmsTiming>(); var dateTime = DateTime.Now; var sagaId = Guid.NewGuid(); var sagaData = new CoordinateSmsSchedulingData { Originator = "o", OriginalScheduleStartTime = dateTime.AddMinutes(-5), CoordinatorId = sagaId }; var pausedTrackedMessages = new List<ScheduleTrackingData> { new ScheduleTrackingData { MessageStatus = MessageStatus.Paused, ScheduleId = Guid.NewGuid()}, new ScheduleTrackingData { MessageStatus = MessageStatus.Paused, ScheduleId = Guid.NewGuid()} }; ravenScheduleDocuments.Expect(r => r.GetActiveScheduleTrackingData(sagaId)).Return(pausedTrackedMessages); var resumeTricklesMessages = new ResumeTrickledMessages { ResumeTimeUtc = dateTime }; Test.Initialize(); Test.Saga<CoordinateSmsScheduler>() .WithExternalDependencies(s => { s.TimingManager = timingManager; s.Data = sagaData; s.RavenScheduleDocuments = ravenScheduleDocuments; }) .ExpectSend<ResumeScheduledMessageWithOffset>( l => l.ScheduleMessageId == pausedTrackedMessages[0].ScheduleId && l.Offset == new TimeSpan(0, 0, 5, 0)) .ExpectSend<ResumeScheduledMessageWithOffset>( l => l.ScheduleMessageId == pausedTrackedMessages[1].ScheduleId && l.Offset == new TimeSpan(0, 0, 5, 0)) .When(s => s.Handle(resumeTricklesMessages)); timingManager.VerifyAllExpectations(); }