mirror of
https://github.com/nkanaev/yarr.git
synced 2026-06-24 09:05:16 +00:00
81 lines
2.2 KiB
Go
81 lines
2.2 KiB
Go
package tests
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/nkanaev/yarr/src/storage/model"
|
|
)
|
|
|
|
func TestUpdateFolder(t *testing.T) {
|
|
db := testDB()
|
|
folder := db.CreateFolder("old title")
|
|
if folder.IsExpanded != true {
|
|
t.Fatal("expected folder to be expanded by default")
|
|
}
|
|
|
|
t.Run("rename only", func(t *testing.T) {
|
|
newTitle := "new title"
|
|
ok, err := db.UpdateFolder(folder.Id, model.UpdateFolderParams{
|
|
Title: &newTitle,
|
|
})
|
|
if !ok || err != nil {
|
|
t.Fatalf("UpdateFolder failed: %v", err)
|
|
}
|
|
|
|
folders := db.ListFolders()
|
|
if len(folders) != 1 || folders[0].Title != "new title" {
|
|
t.Errorf("expected title to be updated, got %s", folders[0].Title)
|
|
}
|
|
if folders[0].IsExpanded != true {
|
|
t.Error("expected expansion state to remain unchanged")
|
|
}
|
|
})
|
|
|
|
t.Run("toggle expanded only", func(t *testing.T) {
|
|
isExpanded := false
|
|
ok, err := db.UpdateFolder(folder.Id, model.UpdateFolderParams{
|
|
IsExpanded: &isExpanded,
|
|
})
|
|
if !ok || err != nil {
|
|
t.Fatalf("UpdateFolder failed: %v", err)
|
|
}
|
|
|
|
folders := db.ListFolders()
|
|
if len(folders) != 1 || folders[0].IsExpanded != false {
|
|
t.Errorf("expected is_expanded to be false, got %v", folders[0].IsExpanded)
|
|
}
|
|
if folders[0].Title != "new title" {
|
|
t.Error("expected title to remain unchanged")
|
|
}
|
|
})
|
|
|
|
t.Run("update both", func(t *testing.T) {
|
|
bothTitle := "both"
|
|
isExpanded := true
|
|
ok, err := db.UpdateFolder(folder.Id, model.UpdateFolderParams{
|
|
Title: &bothTitle,
|
|
IsExpanded: &isExpanded,
|
|
})
|
|
if !ok || err != nil {
|
|
t.Fatalf("UpdateFolder failed: %v", err)
|
|
}
|
|
|
|
folders := db.ListFolders()
|
|
if len(folders) != 1 || folders[0].Title != "both" || folders[0].IsExpanded != true {
|
|
t.Errorf("expected both to be updated, got title=%s expanded=%v", folders[0].Title, folders[0].IsExpanded)
|
|
}
|
|
})
|
|
|
|
t.Run("update none", func(t *testing.T) {
|
|
ok, err := db.UpdateFolder(folder.Id, model.UpdateFolderParams{})
|
|
if !ok || err != nil {
|
|
t.Fatalf("UpdateFolder failed: %v", err)
|
|
}
|
|
|
|
folders := db.ListFolders()
|
|
if len(folders) != 1 || folders[0].Title != "both" || folders[0].IsExpanded != true {
|
|
t.Errorf("expected no changes, got title=%s expanded=%v", folders[0].Title, folders[0].IsExpanded)
|
|
}
|
|
})
|
|
}
|