public void ScheduleSms() { var ravenDocStore = MockRepository.GenerateMock<IRavenDocStore>(); var database = "database"; ravenDocStore.Expect(r => r.Database()).Return(database); ravenDocStore.Expect(r => r.GetStore().OpenSession(database)).Return(DocumentStore.OpenSession()); var trackingData = new ScheduleTrackingData { ScheduleId = Guid.NewGuid(), MessageStatus = MessageStatus.WaitingForScheduling, }; StoreDocument(trackingData, trackingData.ScheduleId.ToString()); var scheduleStatusHandlers = new ScheduleStatusHandlers { RavenDocStore = ravenDocStore }; var scheduleTimeUtc = DateTime.UtcNow.AddMinutes(14); scheduleStatusHandlers.Handle(new ScheduleStatusChanged { ScheduleId = trackingData.ScheduleId, Status = MessageStatus.Scheduled, ScheduleTimeUtc = scheduleTimeUtc }); var updatedData = GetSchedule(trackingData.ScheduleId.ToString()); Assert.That(updatedData.MessageStatus, Is.EqualTo(MessageStatus.Scheduled)); Assert.That(updatedData.ScheduleTimeUtc, Is.EqualTo(scheduleTimeUtc)); }
public void SmsSent() { var ravenDocStore = MockRepository.GenerateMock <IRavenDocStore>(); var database = "database"; ravenDocStore.Expect(r => r.Database()).Return(database); ravenDocStore.Expect(r => r.GetStore().OpenSession(database)).Return(DocumentStore.OpenSession()); var trackingData = new ScheduleTrackingData { ScheduleId = Guid.NewGuid(), MessageStatus = MessageStatus.WaitingForScheduling, }; StoreDocument(trackingData, trackingData.ScheduleId.ToString()); var scheduleStatusHandlers = new ScheduleStatusHandlers { RavenDocStore = ravenDocStore }; var scheduleSucceeded = new ScheduleSucceeded { ConfirmationData = new SmsConfirmationData("r", DateTime.UtcNow, 33m), ScheduleId = trackingData.ScheduleId }; scheduleStatusHandlers.Handle(scheduleSucceeded); var updatedData = GetSchedule(trackingData.ScheduleId.ToString()); Assert.That(updatedData.MessageStatus, Is.EqualTo(MessageStatus.Sent)); Assert.That(updatedData.ConfirmationData.SentAtUtc, Is.EqualTo(scheduleSucceeded.ConfirmationData.SentAtUtc)); Assert.That(updatedData.ConfirmationData.Receipt, Is.EqualTo(scheduleSucceeded.ConfirmationData.Receipt)); Assert.That(updatedData.ConfirmationData.Price, Is.EqualTo(scheduleSucceeded.ConfirmationData.Price)); }
public void PauseSchedule() { var ravenDocStore = MockRepository.GenerateMock <IRavenDocStore>(); var database = "database"; ravenDocStore.Expect(r => r.Database()).Return(database); ravenDocStore.Expect(r => r.GetStore().OpenSession(database)).Return(DocumentStore.OpenSession()); var trackingData = new ScheduleTrackingData { ScheduleId = Guid.NewGuid(), MessageStatus = MessageStatus.Scheduled, }; StoreDocument(trackingData, trackingData.ScheduleId.ToString()); var scheduleStatusHandlers = new ScheduleStatusHandlers { RavenDocStore = ravenDocStore }; scheduleStatusHandlers.Handle(new ScheduleStatusChanged { ScheduleId = trackingData.ScheduleId, Status = MessageStatus.Paused }); var updatedData = GetSchedule(trackingData.ScheduleId.ToString()); Assert.That(updatedData.MessageStatus, Is.EqualTo(MessageStatus.Paused)); }
public void ScheduleSms() { var ravenDocStore = MockRepository.GenerateMock <IRavenDocStore>(); var database = "database"; ravenDocStore.Expect(r => r.Database()).Return(database); ravenDocStore.Expect(r => r.GetStore().OpenSession(database)).Return(DocumentStore.OpenSession()); var trackingData = new ScheduleTrackingData { ScheduleId = Guid.NewGuid(), MessageStatus = MessageStatus.WaitingForScheduling, }; StoreDocument(trackingData, trackingData.ScheduleId.ToString()); var scheduleStatusHandlers = new ScheduleStatusHandlers { RavenDocStore = ravenDocStore }; var scheduleTimeUtc = DateTime.UtcNow.AddMinutes(14); scheduleStatusHandlers.Handle(new ScheduleStatusChanged { ScheduleId = trackingData.ScheduleId, Status = MessageStatus.Scheduled, ScheduleTimeUtc = scheduleTimeUtc }); var updatedData = GetSchedule(trackingData.ScheduleId.ToString()); Assert.That(updatedData.MessageStatus, Is.EqualTo(MessageStatus.Scheduled)); Assert.That(updatedData.ScheduleTimeUtc, Is.EqualTo(scheduleTimeUtc)); }
public void SmsFailed() { var ravenDocStore = MockRepository.GenerateMock <IRavenDocStore>(); var database = "database"; ravenDocStore.Expect(r => r.Database()).Return(database); ravenDocStore.Expect(r => r.GetStore().OpenSession(database)).Return(DocumentStore.OpenSession()); var trackingData = new ScheduleTrackingData { ScheduleId = Guid.NewGuid(), MessageStatus = MessageStatus.WaitingForScheduling, }; StoreDocument(trackingData, trackingData.ScheduleId.ToString()); var scheduleStatusHandlers = new ScheduleStatusHandlers { RavenDocStore = ravenDocStore }; var scheduleFailed = new ScheduleFailed { ScheduleId = trackingData.ScheduleId, Message = "fail", MoreInfo = "link" }; scheduleStatusHandlers.Handle(scheduleFailed); var updatedData = GetSchedule(trackingData.ScheduleId.ToString()); Assert.That(updatedData.MessageStatus, Is.EqualTo(MessageStatus.Failed)); Assert.That(updatedData.SmsFailureData.Message, Is.EqualTo(scheduleFailed.Message)); Assert.That(updatedData.SmsFailureData.MoreInfo, Is.EqualTo(scheduleFailed.MoreInfo)); Assert.That(updatedData.SmsFailureData.Status, Is.EqualTo(scheduleFailed.Status)); Assert.That(updatedData.SmsFailureData.Code, Is.EqualTo(scheduleFailed.Code)); }
public void PauseSchedule() { var ravenDocStore = MockRepository.GenerateMock<IRavenDocStore>(); var database = "database"; ravenDocStore.Expect(r => r.Database()).Return(database); ravenDocStore.Expect(r => r.GetStore().OpenSession(database)).Return(DocumentStore.OpenSession()); var trackingData = new ScheduleTrackingData { ScheduleId = Guid.NewGuid(), MessageStatus = MessageStatus.Scheduled, }; StoreDocument(trackingData, trackingData.ScheduleId.ToString()); var scheduleStatusHandlers = new ScheduleStatusHandlers { RavenDocStore = ravenDocStore }; scheduleStatusHandlers.Handle(new ScheduleStatusChanged { ScheduleId = trackingData.ScheduleId, Status = MessageStatus.Paused }); var updatedData = GetSchedule(trackingData.ScheduleId.ToString()); Assert.That(updatedData.MessageStatus, Is.EqualTo(MessageStatus.Paused)); }
public void SmsSent() { var ravenDocStore = MockRepository.GenerateMock<IRavenDocStore>(); var database = "database"; ravenDocStore.Expect(r => r.Database()).Return(database); ravenDocStore.Expect(r => r.GetStore().OpenSession(database)).Return(DocumentStore.OpenSession()); var trackingData = new ScheduleTrackingData { ScheduleId = Guid.NewGuid(), MessageStatus = MessageStatus.WaitingForScheduling, }; StoreDocument(trackingData, trackingData.ScheduleId.ToString()); var scheduleStatusHandlers = new ScheduleStatusHandlers { RavenDocStore = ravenDocStore }; var scheduleSucceeded = new ScheduleSucceeded { ConfirmationData = new SmsConfirmationData("r", DateTime.UtcNow, 33m), ScheduleId = trackingData.ScheduleId }; scheduleStatusHandlers.Handle(scheduleSucceeded); var updatedData = GetSchedule(trackingData.ScheduleId.ToString()); Assert.That(updatedData.MessageStatus, Is.EqualTo(MessageStatus.Sent)); Assert.That(updatedData.ConfirmationData.SentAtUtc, Is.EqualTo(scheduleSucceeded.ConfirmationData.SentAtUtc)); Assert.That(updatedData.ConfirmationData.Receipt, Is.EqualTo(scheduleSucceeded.ConfirmationData.Receipt)); Assert.That(updatedData.ConfirmationData.Price, Is.EqualTo(scheduleSucceeded.ConfirmationData.Price)); }
public void SmsFailed() { var ravenDocStore = MockRepository.GenerateMock<IRavenDocStore>(); var database = "database"; ravenDocStore.Expect(r => r.Database()).Return(database); ravenDocStore.Expect(r => r.GetStore().OpenSession(database)).Return(DocumentStore.OpenSession()); var trackingData = new ScheduleTrackingData { ScheduleId = Guid.NewGuid(), MessageStatus = MessageStatus.WaitingForScheduling, }; StoreDocument(trackingData, trackingData.ScheduleId.ToString()); var scheduleStatusHandlers = new ScheduleStatusHandlers { RavenDocStore = ravenDocStore }; var scheduleFailed = new ScheduleFailed { ScheduleId = trackingData.ScheduleId, Message = "fail", MoreInfo = "link" }; scheduleStatusHandlers.Handle(scheduleFailed); var updatedData = GetSchedule(trackingData.ScheduleId.ToString()); Assert.That(updatedData.MessageStatus, Is.EqualTo(MessageStatus.Failed)); Assert.That(updatedData.SmsFailureData.Message, Is.EqualTo(scheduleFailed.Message)); Assert.That(updatedData.SmsFailureData.MoreInfo, Is.EqualTo(scheduleFailed.MoreInfo)); Assert.That(updatedData.SmsFailureData.Status, Is.EqualTo(scheduleFailed.Status)); Assert.That(updatedData.SmsFailureData.Code, Is.EqualTo(scheduleFailed.Code)); }