upgrade to .todo. inbox
This commit is contained in:
@@ -3,17 +3,30 @@ package main
|
||||
import (
|
||||
"bytes"
|
||||
"io/ioutil"
|
||||
"gogs.inhome.blapointe.com/local/storage"
|
||||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"gitea.inhome.blapointe.com/local/storage"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
func TestUploadPTTodo(t *testing.T) {
|
||||
addr := path.Join(t.TempDir(), "test.upload.pttodo")
|
||||
config := Config{TodoAddr: addr, TodoTag: "expense"}
|
||||
reset := func(t *testing.T) {
|
||||
files, err := filepath.Glob(addr + "*")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, f := range files {
|
||||
if f != addr {
|
||||
os.Remove(f)
|
||||
}
|
||||
}
|
||||
}
|
||||
xaction := func() *Transaction {
|
||||
return &Transaction{
|
||||
ID: "id",
|
||||
@@ -24,6 +37,7 @@ func TestUploadPTTodo(t *testing.T) {
|
||||
}
|
||||
}
|
||||
t.Run("full file", func(t *testing.T) {
|
||||
defer reset(t)
|
||||
if err := ioutil.WriteFile(addr, []byte(`
|
||||
todo:
|
||||
- first
|
||||
@@ -37,18 +51,18 @@ done: []
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
b, err := ioutil.ReadFile(addr)
|
||||
files, err := filepath.Glob(addr + ".todo.*")
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if bytes.Compare(bytes.TrimSpace(b), bytes.TrimSpace([]byte(`
|
||||
todo:
|
||||
- {"todo":"(today) /UCCU: 1.23 @ vendor vendor", "tags":"expense"}
|
||||
- first
|
||||
- todo: second
|
||||
scheduled: []
|
||||
done: []
|
||||
`))) != 0 {
|
||||
if len(files) != 1 {
|
||||
t.Fatal(files)
|
||||
}
|
||||
b, err := ioutil.ReadFile(files[0])
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if bytes.Compare(bytes.TrimSpace(b), bytes.TrimSpace([]byte(`- {"todo":"(today) /UCCU: 1.23 @ vendor vendor", "tags":"expense"}`))) != 0 {
|
||||
t.Errorf("full file came out wrong: got %s", b)
|
||||
}
|
||||
if !bytes.Contains(b, []byte(xaction().Format())) {
|
||||
@@ -57,12 +71,20 @@ done: []
|
||||
t.Logf("%s", b)
|
||||
})
|
||||
t.Run("no file", func(t *testing.T) {
|
||||
defer reset(t)
|
||||
os.Remove(addr)
|
||||
err := uploadPTTodo(config, xaction())
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
b, err := ioutil.ReadFile(addr)
|
||||
files, err := filepath.Glob(addr + ".todo.*")
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if len(files) != 1 {
|
||||
t.Fatal(files)
|
||||
}
|
||||
b, err := ioutil.ReadFile(files[0])
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
@@ -72,6 +94,7 @@ done: []
|
||||
t.Logf("%s", b)
|
||||
})
|
||||
t.Run("empty file", func(t *testing.T) {
|
||||
defer reset(t)
|
||||
if err := ioutil.WriteFile(addr, []byte{}, os.ModePerm); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -79,7 +102,14 @@ done: []
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
b, err := ioutil.ReadFile(addr)
|
||||
files, err := filepath.Glob(addr + ".todo.*")
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if len(files) != 1 {
|
||||
t.Fatal(files)
|
||||
}
|
||||
b, err := ioutil.ReadFile(files[0])
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user