diff options
Diffstat (limited to 'print_test.go')
| -rw-r--r-- | print_test.go | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/print_test.go b/print_test.go index ad8730b..2ff6209 100644 --- a/print_test.go +++ b/print_test.go @@ -189,7 +189,46 @@ func TestPrint(t *testing.T) { } func TestReprint(t *testing.T) { - t.Fail() // TODO + contact := MustParseEmailAddress("test@test.com") + productionDelay := 120 * time.Minute + addr := shipAddrSample + shipOpt := Mail + printItem := printableSample + + // Create print job + c := newClient(t) + job1, err := c.Print(contact, "print", productionDelay, addr, shipOpt, []Printable{printItem}) + require.NoError(t, err) + id1 := job1.Id + + // Wait for it to be assigned a printable_id + tpoll(t, func() bool { + job1, err = c.GetPrintJob(id1) + require.NoError(t, err) + require.Len(t, job1.LineItems, 1) + return job1.LineItems[0].Status.Status != ItemCreated + }) + t.Logf("Job 1: %#v\n", job1) + require.Len(t, job1.LineItems, 1) + pid := job1.LineItems[0].PrintableId + require.NotEmpty(t, pid) + + // Reprint + reprintItem := Reprintable{ + printItem.ExternalId, + pid, + printItem.Quantity, + printItem.Title, + } + job2, err := c.Reprint(contact, "reprint", productionDelay, addr, shipOpt, []Reprintable{reprintItem}) + require.NoError(t, err) + require.Len(t, job2.LineItems, 1) + item1, item2 := job1.LineItems[0], job2.LineItems[0] + require.Equal(t, item1.Title, item2.Title) + require.Equal(t, item1.ExternalId, item2.ExternalId) + require.Equal(t, item1.Quantity, item2.Quantity) + require.Equal(t, item1.PrintableId, item2.PrintableId) + require.Equal(t, item1.Mfg, item2.Mfg) } func TestGetPrintJob(t *testing.T) { @@ -214,3 +253,7 @@ func TestGetPrintJob(t *testing.T) { require.Equal(t, job1, job2) } + +func TestCancel(t *testing.T) { + t.Fail() // TODO +} |