feat(release): beelloo v0.1

This commit is contained in:
2026-02-11 11:09:45 +01:00
parent 75ad1e7cee
commit 0dc9eda240
26 changed files with 1918 additions and 0 deletions

View File

@ -0,0 +1,48 @@
package invoice
import (
"os"
"strings"
"testing"
)
func TestParseMarkdownSample(t *testing.T) {
file, err := os.Open("../../testdata/sample.md")
if err != nil {
t.Fatalf("open sample: %v", err)
}
defer file.Close()
doc, err := ParseMarkdown(file)
if err != nil {
t.Fatalf("ParseMarkdown: %v", err)
}
if doc.Seller.Name != "Alice Example" {
t.Fatalf("seller name mismatch: %q", doc.Seller.Name)
}
if doc.Seller.Email != "alice@example.com" {
t.Fatalf("seller email mismatch: %q", doc.Seller.Email)
}
if doc.Seller.Phone != "01 02 03 04 05" {
t.Fatalf("seller phone mismatch: %q", doc.Seller.Phone)
}
if doc.Buyer.Name != "Example Corp" {
t.Fatalf("buyer name mismatch: %q", doc.Buyer.Name)
}
if doc.Invoice.Number != "20250407" {
t.Fatalf("invoice number mismatch: %q", doc.Invoice.Number)
}
if len(doc.Items) != 1 {
t.Fatalf("expected 1 item, got %d", len(doc.Items))
}
if !strings.HasPrefix(doc.Items[0].Designation, "Forfait IT") {
t.Fatalf("designation mismatch: %q", doc.Items[0].Designation)
}
}
func TestValidateMissingFields(t *testing.T) {
doc := Document{}
if err := Validate(&doc); err == nil {
t.Fatalf("expected validation error")
}
}