-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathkargo_test.go
35 lines (29 loc) · 1 KB
/
kargo_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
package kargo
import (
"testing"
)
func TestIdentify(t *testing.T) {
trackingNumbers := map[string]string{
"1Z999AA10123456784": "UPS", // UPS
"9632001960000000000400152152152158": "FedEx", // FedexExpress
"9611019012345612345640": "FedEx", // FedexGround96
"420221539101026837331000039521": "USPS", // USPSIMpb
"EF123456785US": "USPS", // USPSS10
"71123456789123456787": "USPS", // USPS20
"": "Unknown", // Unknown: Empty Tracking Number
"bla bla bla": "Unknown", // Unknown: Some other value
}
for trackingNumber, carrier := range trackingNumbers {
pkg, _ := Identify(trackingNumber)
if pkg.Carrier != carrier {
t.Errorf("Failed, expected: %v, got: %v.", carrier, pkg.TrackingNumber)
}
}
}
func TestKargoIdentifyNotValid(t *testing.T) {
expected := false
pkg, _ := Identify("1Z399AA10123456784")
if pkg.IsValid != expected {
t.Errorf("Failed, expected: %v, got: %v.", expected, pkg.TrackingNumber)
}
}