def test_get_next_line_number_two_invoices():
    """get the number for the next invoice line"""
    invoice_1 = InvoiceFactory()
    InvoiceLineFactory(invoice=invoice_1, line_number=1)
    InvoiceLineFactory(invoice=invoice_1, line_number=2)
    invoice_2 = InvoiceFactory()
    InvoiceLineFactory(invoice=invoice_2, line_number=1)
    assert 3 == invoice_1.get_next_line_number()
    assert 2 == invoice_2.get_next_line_number()
def test_get_next_line_number_fill_gap():
    """get the number for the next invoice line"""
    invoice = InvoiceFactory()
    InvoiceLineFactory(invoice=invoice, line_number=1)
    InvoiceLineFactory(invoice=invoice, line_number=2)
    InvoiceLineFactory(invoice=invoice, line_number=4)
    assert 3 == invoice.get_next_line_number()
def test_get_first_line_number():
    """get the number for the first invoice line"""
    invoice = InvoiceFactory()
    assert 1 == invoice.get_next_line_number()