forked from angelodlfrtr/go-invoice-generator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
generator_test.go
121 lines (102 loc) · 2.67 KB
/
generator_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
package generator
import (
"io/ioutil"
"testing"
)
func TestNew(t *testing.T) {
doc, _ := New(Invoice, &Options{
TextTypeInvoice: "FACTURE",
TextRefTitle: "Réàf.",
AutoPrint: true,
})
doc.SetHeader(&HeaderFooter{
Text: "<center>Cupcake ipsum dolor sit amet bonbon. I love croissant cotton candy. Carrot cake sweet I love sweet roll cake powder.</center>",
Pagination: true,
})
doc.SetFooter(&HeaderFooter{
Text: "<center>Cupcake ipsum dolor sit amet bonbon. I love croissant cotton candy. Carrot cake sweet I love sweet roll cake powder.</center>",
Pagination: true,
})
doc.SetRef("testràf")
doc.SetVersion("someversion")
doc.SetDescription("A description àç")
doc.SetNotes("I léove croissant cotton candy. Carrot cake sweet Ià love sweet roll cake powder! I love croissant cotton candy. Carrot cake sweet I love sweet roll cake powder! I love croissant cotton candy. Carrot cake sweet I love sweet roll cake powder! I love croissant cotton candy. Carrot cake sweet I love sweet roll cake powder! ")
doc.SetDate("02/03/2021")
doc.SetPaymentTerm("02/04/2021")
logoBytes, _ := ioutil.ReadFile("./example_logo.png")
doc.SetCompany(&Contact{
Name: "Test Company",
Logo: &logoBytes,
Address: &Address{
Address: "89 Rue de Brest",
Address2: "Appartement 2",
PostalCode: "75000",
City: "Paris",
Country: "France",
},
})
doc.SetCustomer(&Contact{
Name: "Test Customer",
Address: &Address{
Address: "89 Rue de Paris",
PostalCode: "29200",
City: "Brest",
Country: "France",
},
})
for i := 0; i < 3; i++ {
doc.AppendItem(&Item{
Name: "Cupcake ipsum dolor sit amet bonbon, coucou bonbon lala jojo, mama titi toto",
Description: "Cupcake ipsum dolor sit amet bonbon, Cupcake ipsum dolor sit amet bonbon, Cupcake ipsum dolor sit amet bonbon",
UnitCost: "99876.89",
Quantity: "2",
Tax: &Tax{
Percent: "20",
},
})
}
doc.AppendItem(&Item{
Name: "Test",
UnitCost: "99876.89",
Quantity: "2",
Tax: &Tax{
Amount: "89",
},
Discount: &Discount{
Percent: "30",
},
})
doc.AppendItem(&Item{
Name: "Test",
UnitCost: "3576.89",
Quantity: "2",
Discount: &Discount{
Percent: "50",
},
})
doc.AppendItem(&Item{
Name: "Test",
UnitCost: "889.89",
Quantity: "2",
Discount: &Discount{
Amount: "234.67",
},
})
doc.SetDefaultTax(&Tax{
Percent: "10",
})
// doc.SetDiscount(&Discount{
// Percent: "90",
// })
doc.SetDiscount(&Discount{
Amount: "1340",
})
pdf, err := doc.Build()
if err != nil {
t.Errorf(err.Error())
}
err = pdf.OutputFileAndClose("out.pdf")
if err != nil {
t.Errorf(err.Error())
}
}