-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrefunding_test.go
45 lines (37 loc) · 1.23 KB
/
refunding_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
package main
import (
"os"
"testing"
"time"
)
func TestRefundHandler_GetSerialsFromUser(t *testing.T) {
var broker DataBroker
broker.Init()
refunder := RefundHandler{&broker}
oldStdin := os.Stdin
inputfile := emulateUserInput("aaabbb sdafdas asdfsdff adsffssdf")
defer os.Remove(inputfile.Name()) // clean up
defer func() { os.Stdin = oldStdin }() // Restore stdin
defer broker.Close()
if serials, err := refunder.GetSerialsFromUser(); err != nil {
t.Error("Error when trying to get serials, got", err)
} else if len(serials) != 4 {
t.Error("Wrong number of serials, expected 4, got", len(serials))
}
}
func TestRefundHandler_FilterSerialsForValid(t *testing.T) {
var broker DataBroker
broker.Init()
refunder := RefundHandler{&broker}
defer broker.Close()
show := broker.GetShowById(19)
date := time.Now().AddDate(0, 0, 14)
serials := broker.CreateTickets(&date, show, 4, 4)
defer broker.DeleteTicketsBySerial(serials)
serials = append(serials, "aaaaaa", "bcdefghh")
if serials, err := refunder.FilterSerialsForValid(serials); err != nil {
t.Error("Error while filtering tickets, got", err)
} else if len(serials) != 4 {
t.Error("Filtering returned wrong number of serials, expected 4, got", len(serials))
}
}