public void SubmitApplicationFor_ProductIsNotSupported_ThrowsInvalidOperationException() { var handler = new ConfidentialInvoiceApplicationHandler(_confidentialInvoiceServiceMock.Object); var sellerApplicationMock = new Mock <ISellerApplication>(); var nonExistentProductMock = new Mock <IProduct>(); sellerApplicationMock.SetupProperty(p => p.Product, nonExistentProductMock.Object); Func <int> act = () => handler.SubmitApplicationFor(sellerApplicationMock.Object); act.Should().Throw <InvalidOperationException>(); }
public void SubmitApplicationFor_SubmitFailed_ReturnsNegativeValue() { var handler = new ConfidentialInvoiceApplicationHandler(_confidentialInvoiceServiceMock.Object); var sellerApplication = _sellerApplicationFaker.Generate(); var cid = (ConfidentialInvoiceDiscount)sellerApplication.Product; var applicationResultMock = new Mock <IApplicationResult>(); applicationResultMock.SetupProperty(r => r.Success, false); _confidentialInvoiceServiceMock .Setup(m => m.SubmitApplicationFor( It.Is <CompanyDataRequest>( req => req.CompanyNumber == sellerApplication.CompanyData.Number), cid.TotalLedgerNetworth, cid.AdvancePercentage, cid.VatRate)) .Returns(applicationResultMock.Object); var result = handler.SubmitApplicationFor(sellerApplication); result.Should().Be(-1); }