package render import ( "os" "testing" "beelloo/internal/invoice" ) func TestRenderHTMLGolden(t *testing.T) { file, err := os.Open("../../testdata/sample.md") if err != nil { t.Fatalf("open sample: %v", err) } defer file.Close() doc, err := invoice.ParseMarkdown(file) if err != nil { t.Fatalf("ParseMarkdown: %v", err) } if err := invoice.Validate(&doc); err != nil { t.Fatalf("Validate: %v", err) } html, err := RenderHTML(doc) if err != nil { t.Fatalf("RenderHTML: %v", err) } goldenPath := "../../testdata/sample.html" golden, err := os.ReadFile(goldenPath) if err != nil { t.Fatalf("read golden: %v", err) } if string(golden) != html { t.Fatalf("render output did not match golden file") } }