public void InvokeFailOverInvoiceService_On_ExternalInvoiceServiceException() { Mock <IExternalInvoiceServiceFacade> externalInvoiceFacadeMock = new Mock <IExternalInvoiceServiceFacade>(); Mock <IFailoverInvoiceService> failoverInvoiceServiceMock = new Mock <IFailoverInvoiceService>(); externalInvoiceFacadeMock.SetupSequence(x => x.GetInvoices(It.IsAny <string>())) .Returns(() => throw new Exception()); failoverInvoiceServiceMock.Setup(x => x.GetInvoices(It.IsAny <int>())) .Returns(new FailoverInvoiceCollectionBuilder().WithLessThan30DaysTimestamp().Build()); var sut = new ExternalInvoiceProcessor(externalInvoiceFacadeMock.Object, failoverInvoiceServiceMock.Object); sut.Process(1); failoverInvoiceServiceMock.Verify(x => x.GetInvoices(It.IsAny <int>())); }
public void ThrowExceptionFor_FailOverInvoiceData_OlderThan30Days() { Mock <IExternalInvoiceServiceFacade> externalInvoiceFacadeMock = new Mock <IExternalInvoiceServiceFacade>(); Mock <IFailoverInvoiceService> failoverInvoiceServiceMock = new Mock <IFailoverInvoiceService>(); externalInvoiceFacadeMock.SetupSequence(x => x.GetInvoices(It.IsAny <string>())) .Returns(() => throw new Exception()); failoverInvoiceServiceMock.Setup(x => x.GetInvoices(It.IsAny <int>())) .Returns(new FailoverInvoiceCollectionBuilder().WithOlderThan30DaysTimestamp().Build()); var sut = new ExternalInvoiceProcessor(externalInvoiceFacadeMock.Object, failoverInvoiceServiceMock.Object); Exception ex = Assert.Throws <Exception>(() => sut.Process(1)); Assert.Equal("Failover data is quite old", ex.Message); failoverInvoiceServiceMock.Verify(x => x.GetInvoices(It.IsAny <int>())); }