public void SendSingleSmsNowFailure() { var sendOneMessageNow = new SendOneMessageNow(); var smsService = MockRepository.GenerateMock <ISmsService>(); var smsFailed = new SmsFailed("sid", "code", "message", "moreinfo", "status"); smsService.Expect(s => s.Send(sendOneMessageNow)).Return(smsFailed); Test.Initialize(); Test.Saga <SmsActioner.SmsActioner>() .WithExternalDependencies(a => a.SmsService = smsService) .ExpectReplyToOriginator <MessageFailedSending>() .ExpectSendLocal <MessageFailedSending>() .When(a => a.Handle(sendOneMessageNow)) .AssertSagaCompletionIs(true); }
public void SendSingleSmsNowQueuedThenFail() { var sendOneMessageNow = new SendOneMessageNow(); var smsService = MockRepository.GenerateMock <ISmsService>(); const string sid = "12"; var smsQueued = new SmsQueued(sid); var smsFailed = new SmsFailed(sid, "c", "m", "m", "s"); smsService.Expect(s => s.Send(sendOneMessageNow)).Return(smsQueued); smsService.Expect(s => s.CheckStatus(smsQueued.Sid)).Return(smsFailed); Test.Initialize(); Test.Saga <SmsActioner.SmsActioner>() .WithExternalDependencies(a => a.SmsService = smsService) .ExpectTimeoutToBeSetIn <SmsPendingTimeout>((timeoutMessage, timespan) => timespan == TimeSpan.FromSeconds(10)) .When(a => a.Handle(sendOneMessageNow)) .ExpectNotPublish <MessageSent>() .ExpectReplyToOriginator <MessageFailedSending>() .ExpectSendLocal <MessageFailedSending>() .WhenSagaTimesOut() .AssertSagaCompletionIs(true); }