示例#1
0
        public void allocation_to_invoice()
        {
            var creditNote = new CreditNotes.CreditNotesTest().Given_an_authorised_creditnote(CreditNoteType.AccountsReceivable);
            var invoice = new Create().Given_an_authorised_invoice(InvoiceType.AccountsReceivable);
            var expected = Math.Min(creditNote.Total.GetValueOrDefault(), invoice.Total.GetValueOrDefault());

            var result = Api.Allocations.Add(new Allocation
                {
                    AppliedAmount = expected,
                    CreditNote = creditNote,
                    Invoice = invoice
                });

            Assert.AreEqual(expected, result.Amount);
            Assert.AreEqual(invoice.Id, result.Invoice.Id);
            Assert.AreEqual(creditNote.Id, result.CreditNote.Id);
        }
示例#2
0
        public void allocation_to_invoice()
        {
            var creditNote = new CreditNotes.CreditNotesTest().Given_an_authorised_creditnote(CreditNoteType.AccountsReceivable);
            var invoice    = new Create().Given_an_authorised_invoice(InvoiceType.AccountsReceivable);
            var expected   = Math.Min(creditNote.Total.GetValueOrDefault(), invoice.Total.GetValueOrDefault());

            var result = Api.Allocations.Add(new Allocation
            {
                AppliedAmount = expected,
                CreditNote    = creditNote,
                Invoice       = invoice
            });

            Assert.AreEqual(expected, result.Amount);
            Assert.AreEqual(invoice.Id, result.Invoice.Id);
            Assert.AreEqual(creditNote.Id, result.CreditNote.Id);
        }
示例#3
0
文件: Add.cs 项目: ChrisRomp/Xero-Net
        public void allocation_to_invoice_minimal()
        {            
            var creditNote = new CreditNotes.CreditNotesTest().Given_an_authorised_creditnote();
            var invoice = new Create().Given_an_authorised_invoice();
            var expected = Math.Min(creditNote.Total, invoice.Total.GetValueOrDefault());

            var result = Api.Allocations.Add(new Allocation
            {
                AppliedAmount = expected,
                CreditNote = new CreditNote { Id = creditNote.Id },
                Invoice = new Invoice { Id = invoice.Id }
            });

            Assert.AreEqual(expected, result.Amount);
            Assert.AreEqual(invoice.Id, result.Invoice.Id);
            Assert.AreEqual(creditNote.Id, result.CreditNote.Id);
        }
示例#4
0
        public void allocation_on_creditnote()
        {
            var creditNote = new CreditNotes.CreditNotesTest().Given_an_authorised_creditnote();
            var invoice = new Create().Given_an_authorised_invoice();
            var expected = Math.Min(creditNote.Total.GetValueOrDefault(), invoice.Total.GetValueOrDefault());

            Api.Allocations.Add(new Allocation
            {
                AppliedAmount = expected,
                CreditNote = new CreditNote { Id = creditNote.Id },
                Invoice = new Invoice { Id = invoice.Id }
            });

            creditNote = Api.CreditNotes.Find(creditNote.Id);

            Assert.AreEqual(1, creditNote.Allocations.Count);
            Assert.AreEqual(expected, creditNote.Allocations.First().Amount);
        }
示例#5
0
        public void allocation_to_invoice_minimal()
        {
            var creditNote = new CreditNotes.CreditNotesTest().Given_an_authorised_creditnote();
            var invoice    = new Create().Given_an_authorised_invoice();
            var expected   = Math.Min(creditNote.Total.GetValueOrDefault(), invoice.Total.GetValueOrDefault());

            var result = Api.Allocations.Add(new Allocation
            {
                AppliedAmount = expected,
                CreditNote    = new CreditNote {
                    Id = creditNote.Id
                },
                Invoice = new Invoice {
                    Id = invoice.Id
                }
            });

            Assert.AreEqual(expected, result.Amount);
            Assert.AreEqual(invoice.Id, result.Invoice.Id);
            Assert.AreEqual(creditNote.Id, result.CreditNote.Id);
        }
示例#6
0
        public void Credit_notes_show_up_on_invoices()
        {
            var creditNote = new CreditNotes.CreditNotesTest().Given_an_authorised_creditnote();
            var invoice    = new Create().Given_an_authorised_invoice();
            var amount     = Math.Min(creditNote.Total.GetValueOrDefault(), invoice.Total.GetValueOrDefault());

            Api.Allocations.Add(new Allocation
            {
                AppliedAmount = amount,
                CreditNote    = new CreditNote {
                    Id = creditNote.Id
                },
                Invoice = new Invoice {
                    Id = invoice.Id
                }
            });

            invoice = Api.Invoices.Find(invoice.Id);

            Assert.AreEqual(1, invoice.CreditNotes.Count);
            Assert.AreEqual(creditNote.Id, invoice.CreditNotes.First().Id);
        }
示例#7
0
        public void allocation_on_creditnote()
        {
            var creditNote = new CreditNotes.CreditNotesTest().Given_an_authorised_creditnote();
            var invoice    = new Create().Given_an_authorised_invoice();
            var expected   = Math.Min(creditNote.Total, invoice.Total.GetValueOrDefault());

            Api.Allocations.Add(new Allocation
            {
                AppliedAmount = expected,
                CreditNote    = new CreditNote {
                    Id = creditNote.Id
                },
                Invoice = new Invoice {
                    Id = invoice.Id
                }
            });

            creditNote = Api.CreditNotes.Find(creditNote.Id);

            Assert.AreEqual(1, creditNote.Allocations.Count);
            Assert.AreEqual(expected, creditNote.Allocations.First().Amount);
        }
示例#8
0
        public void Credit_notes_show_up_on_invoices()
        {
            var creditNote = new CreditNotes.CreditNotesTest().Given_an_authorised_creditnote();
            var invoice = new Create().Given_an_authorised_invoice();
            var amount = Math.Min(creditNote.Total.GetValueOrDefault(), invoice.Total.GetValueOrDefault());

            Api.Allocations.Add(new Allocation
            {
                AppliedAmount = amount,
                CreditNote = new CreditNote { Id = creditNote.Id },
                Invoice = new Invoice { Id = invoice.Id }
            });

            invoice = Api.Invoices.Find(invoice.Id);

            Assert.AreEqual(1, invoice.CreditNotes.Count);
            Assert.AreEqual(creditNote.Id, invoice.CreditNotes.First().Id);
        }