upgrade to .todo. inbox

This commit is contained in:
Bel LaPointe
2023-11-09 08:24:08 -07:00
parent 6a70c6d2ac
commit e3d821e219
6 changed files with 69 additions and 163 deletions

View File

@@ -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)
}