public void TrickleMessagesPauseMessagesIndefinitely_Data() { var messageList = new List<SmsData> { new SmsData("9384938", "3943lasdkf;j"), new SmsData("99999", "dj;alsdfkj"), new SmsData("mobile", "sent") }; var pauseMessageSending = new PauseTrickledMessagesIndefinitely(); var timingManager = MockRepository.GenerateMock<ICalculateSmsTiming>(); var scheduledMessageStatuses = new List<ScheduledMessageStatus> { new ScheduledMessageStatus(new ScheduleSmsForSendingLater { SmsData = messageList[0]}), new ScheduledMessageStatus(new ScheduleSmsForSendingLater { SmsData = messageList[1]}, MessageStatus.Scheduled), new ScheduledMessageStatus(new ScheduleSmsForSendingLater { SmsData = messageList[2]}, MessageStatus.Sent) }; var sagaData = new CoordinateSmsSchedulingData { ScheduledMessageStatus = scheduledMessageStatuses, Id = Guid.NewGuid(), Originator = "o", OriginalMessageId = "i" }; Test.Initialize(); Test.Saga<CoordinateSmsScheduler>() .WithExternalDependencies(s => { s.TimingManager = timingManager; s.Data = sagaData; }) .ExpectSend<PauseScheduledMessageIndefinitely>( l => l.ScheduleMessageId == scheduledMessageStatuses[0].ScheduledSms.ScheduleMessageId) .ExpectSend<PauseScheduledMessageIndefinitely>(l => l.ScheduleMessageId == scheduledMessageStatuses[1].ScheduledSms.ScheduleMessageId) .When(s => s.Handle(pauseMessageSending)); Assert.That(sagaData.ScheduledMessageStatus[0].MessageStatus, Is.EqualTo(MessageStatus.WaitingForScheduling)); Assert.That(sagaData.ScheduledMessageStatus[1].MessageStatus, Is.EqualTo(MessageStatus.Scheduled)); timingManager.VerifyAllExpectations(); }
public void TrickleMessagesPauseMessagesIndefinitely_Data() { var ravenScheduleDocuments = MockRepository.GenerateMock<IRavenScheduleDocuments>(); var pauseMessageSending = new PauseTrickledMessagesIndefinitely(); var timingManager = MockRepository.GenerateMock<ICalculateSmsTiming>(); var sagaId = Guid.NewGuid(); var sagaData = new CoordinateSmsSchedulingData { Id = Guid.NewGuid(), Originator = "o", OriginalMessageId = "i", CoordinatorId = sagaId }; var pausedTrackedMessages = new List<ScheduleTrackingData> { new ScheduleTrackingData { MessageStatus = MessageStatus.Scheduled, ScheduleId = Guid.NewGuid()}, new ScheduleTrackingData { MessageStatus = MessageStatus.Scheduled, ScheduleId = Guid.NewGuid()} }; ravenScheduleDocuments.Expect(r => r.GetActiveScheduleTrackingData(sagaId)).Return(pausedTrackedMessages); Test.Initialize(); Test.Saga<CoordinateSmsScheduler>() .WithExternalDependencies(s => { s.TimingManager = timingManager; s.Data = sagaData; s.RavenScheduleDocuments = ravenScheduleDocuments; }) .ExpectSend<PauseScheduledMessageIndefinitely>(l => l.ScheduleMessageId == pausedTrackedMessages[0].ScheduleId) .ExpectSend<PauseScheduledMessageIndefinitely>(l => l.ScheduleMessageId == pausedTrackedMessages[1].ScheduleId) .When(s => s.Handle(pauseMessageSending)); timingManager.VerifyAllExpectations(); }