Tests: Add unit tests
This commit is contained in:
parent
a3f27c8d67
commit
80c10bb35c
40
internal/entity/auth_user_share_fixtures_test.go
Normal file
40
internal/entity/auth_user_share_fixtures_test.go
Normal file
|
@ -0,0 +1,40 @@
|
|||
package entity
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestUserShareMap_Get(t *testing.T) {
|
||||
t.Run("AliceAlbum", func(t *testing.T) {
|
||||
r := UserShareFixtures.Get("AliceAlbum")
|
||||
assert.Equal(t, "The quick brown fox jumps over the lazy dog.", r.Comment)
|
||||
assert.Equal(t, "at9lxuqxpogaaba9", r.ShareUID)
|
||||
assert.IsType(t, UserShare{}, r)
|
||||
})
|
||||
|
||||
t.Run("Invalid", func(t *testing.T) {
|
||||
r := UserShareFixtures.Get("monstera")
|
||||
assert.Equal(t, "", r.Comment)
|
||||
assert.Equal(t, "", r.ShareUID)
|
||||
assert.IsType(t, UserShare{}, r)
|
||||
})
|
||||
}
|
||||
|
||||
func TestUserShareMap_Pointer(t *testing.T) {
|
||||
t.Run("AliceAlbum", func(t *testing.T) {
|
||||
r := UserShareFixtures.Pointer("AliceAlbum")
|
||||
assert.Equal(t, "The quick brown fox jumps over the lazy dog.", r.Comment)
|
||||
assert.Equal(t, "at9lxuqxpogaaba9", r.ShareUID)
|
||||
|
||||
assert.IsType(t, &UserShare{}, r)
|
||||
})
|
||||
|
||||
t.Run("Invalid", func(t *testing.T) {
|
||||
r := UserShareFixtures.Pointer("monstera")
|
||||
assert.Equal(t, "", r.Comment)
|
||||
assert.Equal(t, "", r.ShareUID)
|
||||
assert.IsType(t, &UserShare{}, r)
|
||||
})
|
||||
}
|
|
@ -9,6 +9,21 @@ import (
|
|||
"github.com/photoprism/photoprism/pkg/rnd"
|
||||
)
|
||||
|
||||
func TestUserShares_Contains(t *testing.T) {
|
||||
t.Run("False", func(t *testing.T) {
|
||||
m := UserShares{UserShare{UserUID: "uqxetse3cy5eo9z2", ShareUID: "at9lxuqxpogaaba9"}}
|
||||
assert.False(t, m.Contains("at9lxuqxpogaaxxx"))
|
||||
})
|
||||
t.Run("True", func(t *testing.T) {
|
||||
m := UserShares{UserShare{UserUID: "uqxetse3cy5eo9z2", ShareUID: "at9lxuqxpogaaba9"}}
|
||||
assert.True(t, m.Contains("at9lxuqxpogaaba9"))
|
||||
})
|
||||
t.Run("Empty", func(t *testing.T) {
|
||||
m := UserShares{}
|
||||
assert.False(t, m.Contains("at9lxuqxpogaaxxx"))
|
||||
})
|
||||
}
|
||||
|
||||
func TestNewUserShare(t *testing.T) {
|
||||
expires := TimeStamp().Add(time.Hour * 48)
|
||||
m := NewUserShare(Admin.UID(), AlbumFixtures.Get("berlin-2019").AlbumUID, PermReact, &expires)
|
||||
|
@ -53,25 +68,89 @@ func TestFindUserShare(t *testing.T) {
|
|||
assert.Equal(t, expected.UserUID, m.UserUID)
|
||||
assert.Equal(t, expected.ShareUID, m.ShareUID)
|
||||
})
|
||||
t.Run("Empty", func(t *testing.T) {
|
||||
m := FindUserShare(UserShare{})
|
||||
assert.Nil(t, m)
|
||||
})
|
||||
}
|
||||
|
||||
func TestFindUserShares(t *testing.T) {
|
||||
found := FindUserShares(UserFixtures.Pointer("alice").UID())
|
||||
assert.NotNil(t, found)
|
||||
assert.Len(t, found, 1)
|
||||
t.Run("Alice", func(t *testing.T) {
|
||||
found := FindUserShares(UserFixtures.Pointer("alice").UID())
|
||||
assert.NotNil(t, found)
|
||||
assert.Len(t, found, 1)
|
||||
|
||||
m := found[0]
|
||||
expected := UserShareFixtures.Get("AliceAlbum")
|
||||
m := found[0]
|
||||
expected := UserShareFixtures.Get("AliceAlbum")
|
||||
|
||||
assert.NotNil(t, m)
|
||||
assert.True(t, m.HasID())
|
||||
assert.True(t, rnd.IsRefID(m.RefID))
|
||||
assert.True(t, rnd.IsUID(m.UserUID, UserUID))
|
||||
assert.True(t, rnd.IsUID(m.ShareUID, AlbumUID))
|
||||
assert.Equal(t, expected.Perm, m.Perm)
|
||||
assert.Equal(t, expected.ExpiresAt, m.ExpiresAt)
|
||||
assert.Equal(t, expected.Comment, m.Comment)
|
||||
assert.Equal(t, expected.LinkUID, m.LinkUID)
|
||||
assert.Equal(t, expected.UserUID, m.UserUID)
|
||||
assert.Equal(t, expected.ShareUID, m.ShareUID)
|
||||
assert.NotNil(t, m)
|
||||
assert.True(t, m.HasID())
|
||||
assert.True(t, rnd.IsRefID(m.RefID))
|
||||
assert.True(t, rnd.IsUID(m.UserUID, UserUID))
|
||||
assert.True(t, rnd.IsUID(m.ShareUID, AlbumUID))
|
||||
assert.Equal(t, expected.Perm, m.Perm)
|
||||
assert.Equal(t, expected.ExpiresAt, m.ExpiresAt)
|
||||
assert.Equal(t, expected.Comment, m.Comment)
|
||||
assert.Equal(t, expected.LinkUID, m.LinkUID)
|
||||
assert.Equal(t, expected.UserUID, m.UserUID)
|
||||
assert.Equal(t, expected.ShareUID, m.ShareUID)
|
||||
})
|
||||
t.Run("Invalid uid", func(t *testing.T) {
|
||||
found := FindUserShares("123")
|
||||
assert.IsType(t, UserShares{}, found)
|
||||
assert.Empty(t, found)
|
||||
})
|
||||
}
|
||||
|
||||
func TestUserShare_Create(t *testing.T) {
|
||||
m := UserShare{}
|
||||
err := m.Create()
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestUserShare_UpdateLink(t *testing.T) {
|
||||
t.Run("Success", func(t *testing.T) {
|
||||
m := UserShare{
|
||||
ShareUID: "at9lxuqxpogaaba9",
|
||||
}
|
||||
|
||||
assert.Equal(t, "", m.LinkUID)
|
||||
assert.Equal(t, "", m.Comment)
|
||||
|
||||
l := Link{
|
||||
LinkUID: "sqn2xpryd1ob8xxx",
|
||||
ShareUID: "at9lxuqxpogaaba9",
|
||||
Comment: "Wedding",
|
||||
}
|
||||
err := m.UpdateLink(l)
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
assert.Equal(t, "sqn2xpryd1ob8xxx", m.LinkUID)
|
||||
assert.Equal(t, "Wedding", m.Comment)
|
||||
})
|
||||
t.Run("UID mismatch", func(t *testing.T) {
|
||||
m := UserShare{
|
||||
ShareUID: "at9lxuqxpogaaba9",
|
||||
}
|
||||
|
||||
assert.Equal(t, "", m.LinkUID)
|
||||
assert.Equal(t, "", m.Comment)
|
||||
|
||||
l := Link{
|
||||
LinkUID: "sqn2xpryd1ob8xxx",
|
||||
ShareUID: "at9lxuqxpogaaba8",
|
||||
Comment: "Wedding",
|
||||
}
|
||||
err := m.UpdateLink(l)
|
||||
|
||||
assert.Error(t, err)
|
||||
assert.Equal(t, "", m.LinkUID)
|
||||
assert.Equal(t, "", m.Comment)
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue