private static void AssertDefault(CreditNotePostModel creditNote) { Assert.IsNotEmpty(creditNote.AccountNumber); Assert.IsNotNull(creditNote.ConstantSymbolId); Assert.AreEqual(CreditedIssuedInvoiceId, creditNote.CreditedInvoiceId, 0); Assert.IsEmpty(creditNote.CreditNoteReason); Assert.Greater(creditNote.CurrencyId, 0); Assert.IsNotNull(creditNote.DateOfIssue); Assert.IsNotNull(creditNote.DateOfMaturity); Assert.IsNotNull(creditNote.DateOfPayment); Assert.IsNotNull(creditNote.DateOfTaxing); Assert.IsNotNull(creditNote.DateOfVatApplication); Assert.IsNull(creditNote.DateOfVatClaim); Assert.IsNotEmpty(creditNote.Description); Assert.Greater(creditNote.DocumentSerialNumber, 0); Assert.AreEqual(1, creditNote.ExchangeRate); Assert.AreEqual(1, creditNote.ExchangeRateAmount); Assert.Greater(creditNote.Items.Count, 0); foreach (var creditNoteItem in creditNote.Items) { AssertDefaultItem(creditNoteItem); } Assert.IsEmpty(creditNote.ItemsTextPrefix); Assert.IsEmpty(creditNote.ItemsTextSuffix); Assert.IsEmpty(creditNote.Note); Assert.IsEmpty(creditNote.NoteForCreditNote); Assert.Greater(creditNote.NumericSequenceId, 0); Assert.Greater(creditNote.PartnerId, 0); Assert.IsNotNull(creditNote.ReportLanguage); Assert.IsNotEmpty(creditNote.VariableSymbol); }
public void Default_SuccessfullyReturned() { // Act _creditNotePostModel = CreditNoteClient.Default(CreditedIssuedInvoiceId).AssertResult(); // Assert AssertDefault(_creditNotePostModel); }
private static void ComparePostAndGetModels(CreditNotePostModel postModel, CreditNoteListGetModel getModel, bool offset) { Assert.IsEmpty(getModel.Attachments); Assert.AreEqual(postModel.ConstantSymbolId, getModel.ConstantSymbolId); Assert.AreEqual(postModel.CreditedInvoiceId, getModel.CreditedInvoiceId); Assert.AreEqual(postModel.CreditNoteReason, getModel.CreditNoteReason); Assert.AreEqual(postModel.CurrencyId, getModel.CurrencyId); Assert.AreEqual(postModel.DateOfIssue.Date, getModel.DateOfIssue.Date); Assert.AreEqual(postModel.DateOfMaturity.Date, getModel.DateOfMaturity.Date); if (offset) { Assert.IsNotNull(getModel.DateOfPayment.Date); } else { Assert.AreEqual(postModel.DateOfPayment.GetValueOrDefault().Date, getModel.DateOfPayment.Date); } Assert.AreEqual(postModel.DateOfTaxing.Date, getModel.DateOfTaxing.Date); Assert.AreEqual(postModel.DateOfVatClaim, getModel.DateOfVatClaim.Date); Assert.AreEqual(postModel.Description, getModel.Description); Assert.AreEqual(postModel.DiscountPercentage, getModel.DiscountPercentage); Assert.Greater(getModel.DocumentSerialNumber, 0); Assert.AreEqual(postModel.EetResponsibility, getModel.EetResponsibility); Assert.AreEqual(postModel.ExchangeRate, getModel.ExchangeRate); Assert.AreEqual(postModel.ExchangeRateAmount, getModel.ExchangeRateAmount); Assert.AreEqual(postModel.IsEet, getModel.IsEet); Assert.AreEqual(postModel.IsIncomeTax, getModel.IsIncomeTax); Assert.AreEqual(postModel.ItemsTextPrefix, getModel.ItemsTextPrefix); Assert.AreEqual(postModel.ItemsTextSuffix, getModel.ItemsTextSuffix); Assert.AreEqual(postModel.AccountNumber, getModel.MyAddress.AccountNumber); Assert.AreEqual(postModel.Iban, getModel.MyAddress.Iban); Assert.AreEqual(postModel.Swift, getModel.MyAddress.Swift); Assert.AreEqual(postModel.Note, getModel.Note); Assert.AreEqual(postModel.NoteForCreditNote, getModel.NoteForCreditNote); Assert.AreEqual(postModel.OrderNumber, getModel.OrderNumber); Assert.AreEqual(postModel.PartnerId, getModel.PartnerId); if (!offset) { Assert.AreEqual(postModel.PaymentOptionId, getModel.PaymentOptionId); } Assert.IsNotNull(getModel.Prices); Assert.NotZero(getModel.Prices.TotalWithVat); Assert.AreEqual(postModel.ReportLanguage, getModel.ReportLanguage); Assert.AreEqual(postModel.SalesPosEquipmentId, getModel.SalesPosEquipmentId); Assert.AreEqual(postModel.VariableSymbol, getModel.VariableSymbol); Assert.AreEqual(postModel.VatOnPayStatus, getModel.VatOnPayStatus); Assert.AreEqual(postModel.VatReverseChargeCodeId, getModel.VatReverseChargeCodeId); }
public void OffsetNewCreditNote_SuccessfullyOffset() { // Arrange _creditNoteToOffsetPostModel = CreditNoteClient.Default(CreditedIssuedInvoiceId).AssertResult(); CreatePostModel(_creditNoteToOffsetPostModel); // Act var offsetCreditNote = CreditNoteClient.Offset(_creditNoteToOffsetPostModel).AssertResult(); _offsetCreditNoteId = offsetCreditNote.Id; // Assert Assert.AreEqual(_offsetCreditNoteId, offsetCreditNote.Id); ComparePostAndGetModels(_creditNoteToOffsetPostModel, offsetCreditNote, true); ComparePostAndGetItems(_creditNoteToOffsetPostModel.Items, offsetCreditNote.Items.Cast <CreditNoteItemListGetModel>().ToList()); Assert.IsNotNull(offsetCreditNote.DateOfPayment); }
/// <inheritdoc /> public ApiResult <CreditNoteGetModel> Post(CreditNotePostModel model) { return(Post <CreditNotePostModel, CreditNoteGetModel>(model)); }
/// <summary> /// Creates new credit note and offsets it with invoice. Credit note should contain only items with ItemTypeNormal. /// </summary> /// <param name="model">Credit note to be created.</param> /// <returns><see cref="ApiResult{CreditNoteGetModel}"/> instance.</returns> public ApiResult <CreditNoteGetModel> Offset(CreditNotePostModel model) { var resource = $"{ResourceUrl}/Offset"; return(Post <CreditNotePostModel, CreditNoteGetModel>(resource, model)); }
/// <inheritdoc/> public Task <ApiResult <CreditNoteGetModel> > PostAsync(CreditNotePostModel model, CancellationToken cancellationToken = default) { return(PostAsync <CreditNotePostModel, CreditNoteGetModel>(model, cancellationToken)); }
/// <summary> /// Creates new credit note and offsets it with invoice. Credit note should contain only items with ItemTypeNormal. /// </summary> /// <param name="model">Credit note to be created.</param> /// <param name="cancellationToken">Cancellation token.</param> /// <returns><see cref="ApiResult{CreditNoteGetModel}"/> instance.</returns> public Task <ApiResult <CreditNoteGetModel> > OffsetAsync(CreditNotePostModel model, CancellationToken cancellationToken = default) { var resource = $"{ResourceUrl}/Offset"; return(PostAsync <CreditNotePostModel, CreditNoteGetModel>(resource, model, cancellationToken)); }
private static void CreatePostModel(CreditNotePostModel postModel) { postModel.CreditNoteReason = "reason"; postModel.DateOfVatClaim = postModel.DateOfVatApplication; postModel.DeliveryAddressId = DeliveryAddressId1; }