e3bb8b19dd
Also improves migrations and updates the db schema docs. Signed-off-by: Michael Mayer <michael@photoprism.app>
106 lines
2.6 KiB
Go
106 lines
2.6 KiB
Go
package entity
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestFileSync_TableName(t *testing.T) {
|
|
fileSync := &FileSync{}
|
|
assert.Equal(t, "files_sync", fileSync.TableName())
|
|
}
|
|
|
|
func TestNewFileSync(t *testing.T) {
|
|
r := NewFileSync(123, "test")
|
|
assert.IsType(t, &FileSync{}, r)
|
|
assert.Equal(t, uint(0x7b), r.ServiceID)
|
|
assert.Equal(t, "test", r.RemoteName)
|
|
assert.Equal(t, "new", r.Status)
|
|
}
|
|
|
|
func TestFirstOrCreateFileSync(t *testing.T) {
|
|
t.Run("not yet existing", func(t *testing.T) {
|
|
fileSync := &FileSync{ServiceID: 123, FileID: 888, RemoteName: "test123"}
|
|
result := FirstOrCreateFileSync(fileSync)
|
|
|
|
if result == nil {
|
|
t.Fatal("result should not be nil")
|
|
}
|
|
|
|
if result.FileID != fileSync.FileID {
|
|
t.Errorf("FileID should be the same: %d %d", result.FileID, fileSync.FileID)
|
|
}
|
|
|
|
if result.ServiceID != fileSync.ServiceID {
|
|
t.Errorf("ServiceID should be the same: %d %d", result.ServiceID, fileSync.ServiceID)
|
|
}
|
|
})
|
|
|
|
t.Run("existing", func(t *testing.T) {
|
|
fileSync := NewFileSync(778, "NameForRemote")
|
|
result := FirstOrCreateFileSync(fileSync)
|
|
|
|
if result == nil {
|
|
t.Fatal("result share should not be nil")
|
|
}
|
|
|
|
if result.FileID != fileSync.FileID {
|
|
t.Errorf("FileID should be the same: %d %d", result.FileID, fileSync.FileID)
|
|
}
|
|
|
|
if result.ServiceID != fileSync.ServiceID {
|
|
t.Errorf("ServiceID should be the same: %d %d", result.ServiceID, fileSync.ServiceID)
|
|
}
|
|
})
|
|
}
|
|
|
|
func TestFileSync_Updates(t *testing.T) {
|
|
t.Run("success", func(t *testing.T) {
|
|
fileSync := NewFileSync(123, "NameBeforeUpdate")
|
|
|
|
assert.Equal(t, "NameBeforeUpdate", fileSync.RemoteName)
|
|
assert.Equal(t, uint(0x7b), fileSync.ServiceID)
|
|
|
|
err := fileSync.Updates(FileSync{RemoteName: "NameAfterUpdate", ServiceID: 999})
|
|
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
assert.Equal(t, "NameAfterUpdate", fileSync.RemoteName)
|
|
assert.Equal(t, uint(0x3e7), fileSync.ServiceID)
|
|
})
|
|
}
|
|
|
|
func TestFileSync_Update(t *testing.T) {
|
|
t.Run("success", func(t *testing.T) {
|
|
fileSync := NewFileSync(123, "NameBeforeUpdate2")
|
|
assert.Equal(t, "NameBeforeUpdate2", fileSync.RemoteName)
|
|
assert.Equal(t, uint(0x7b), fileSync.ServiceID)
|
|
|
|
err := fileSync.Update("RemoteName", "new-name")
|
|
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
assert.Equal(t, "new-name", fileSync.RemoteName)
|
|
assert.Equal(t, uint(0x7b), fileSync.ServiceID)
|
|
})
|
|
}
|
|
|
|
func TestFileSync_Save(t *testing.T) {
|
|
t.Run("success", func(t *testing.T) {
|
|
fileSync := NewFileSync(123, "Nameavc")
|
|
|
|
initialDate := fileSync.UpdatedAt
|
|
|
|
err := fileSync.Save()
|
|
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
afterDate := fileSync.UpdatedAt
|
|
|
|
assert.True(t, afterDate.After(initialDate))
|
|
})
|
|
}
|