3aad02501f
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
76 lines
2.5 KiB
Go
76 lines
2.5 KiB
Go
package entity
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestFirstFileByHash(t *testing.T) {
|
|
t.Run("not existing file", func(t *testing.T) {
|
|
f, err := FirstFileByHash("xxx")
|
|
assert.Equal(t, "record not found", err.Error())
|
|
assert.Equal(t, uint(0), f.ID)
|
|
})
|
|
t.Run("existing file", func(t *testing.T) {
|
|
f, err := FirstFileByHash("2cad9168fa6acc5c5c2965ddf6ec465ca42fd818")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
assert.Equal(t, uint(0xf4240), f.ID)
|
|
})
|
|
}
|
|
|
|
func TestFile_DownloadFileName(t *testing.T) {
|
|
t.Run("photo with title", func(t *testing.T) {
|
|
photo := &Photo{TakenAtLocal: time.Date(2019, 01, 15, 0, 0, 0, 0, time.UTC), PhotoTitle: "Berlin / Morning Mood"}
|
|
file := &File{Photo: photo, FileType: "jpg", FileUUID: "foobar345678765"}
|
|
|
|
filename := file.ShareFileName()
|
|
|
|
assert.Contains(t, filename, "20190115-000000-Berlin-Morning-Mood")
|
|
assert.Contains(t, filename, ".jpg")
|
|
})
|
|
t.Run("photo without title", func(t *testing.T) {
|
|
photo := &Photo{TakenAtLocal: time.Date(2019, 01, 15, 0, 0, 0, 0, time.UTC), PhotoTitle: ""}
|
|
file := &File{Photo: photo, FileType: "jpg", PhotoUUID: "123", FileUUID: "foobar345678765"}
|
|
|
|
filename := file.ShareFileName()
|
|
|
|
assert.Contains(t, filename, "20190115-000000-123")
|
|
assert.Contains(t, filename, ".jpg")
|
|
})
|
|
t.Run("photo without photo", func(t *testing.T) {
|
|
file := &File{Photo: nil, FileType: "jpg", FileHash: "123Hash", FileUUID: "foobar345678765"}
|
|
|
|
filename := file.ShareFileName()
|
|
|
|
assert.Equal(t, "123Hash.jpg", filename)
|
|
})
|
|
}
|
|
|
|
func TestFile_Changed(t *testing.T) {
|
|
t.Run("different modified times", func(t *testing.T) {
|
|
file := &File{Photo: nil, FileType: "jpg", FileSize: 500, FileModified: time.Date(2019, 01, 15, 0, 0, 0, 0, time.UTC)}
|
|
time := time.Date(2020, 01, 15, 0, 0, 0, 0, time.UTC)
|
|
assert.Equal(t, true, file.Changed(500, time))
|
|
})
|
|
t.Run("different sizes", func(t *testing.T) {
|
|
file := &File{Photo: nil, FileType: "jpg", FileSize: 600, FileModified: time.Date(2019, 01, 15, 0, 0, 0, 0, time.UTC)}
|
|
time := time.Date(2019, 01, 15, 0, 0, 0, 0, time.UTC)
|
|
assert.Equal(t, true, file.Changed(500, time))
|
|
})
|
|
t.Run("no change", func(t *testing.T) {
|
|
file := &File{Photo: nil, FileType: "jpg", FileSize: 500, FileModified: time.Date(2019, 01, 15, 0, 0, 0, 0, time.UTC)}
|
|
time := time.Date(2019, 01, 15, 0, 0, 0, 0, time.UTC)
|
|
assert.Equal(t, false, file.Changed(500, time))
|
|
})
|
|
}
|
|
|
|
func TestFile_Purge(t *testing.T) {
|
|
t.Run("success", func(t *testing.T) {
|
|
file := &File{Photo: nil, FileType: "jpg", FileSize: 500}
|
|
assert.Equal(t, nil, file.Purge())
|
|
})
|
|
}
|