Add test for user favorite media
This commit is contained in:
parent
00e436a518
commit
bb19d18c42
|
@ -4,6 +4,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/photoview/photoview/api/dataloader"
|
||||||
"github.com/photoview/photoview/api/graphql/models"
|
"github.com/photoview/photoview/api/graphql/models"
|
||||||
"github.com/photoview/photoview/api/test_utils"
|
"github.com/photoview/photoview/api/test_utils"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
@ -183,3 +184,48 @@ func TestUserOwnsAlbum(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.False(t, owns)
|
assert.False(t, owns)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUserFavoriteMedia(t *testing.T) {
|
||||||
|
db := test_utils.DatabaseTest(t)
|
||||||
|
|
||||||
|
user, err := models.RegisterUser(db, "user1", nil, false)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
rootAlbum := models.Album{
|
||||||
|
Title: "root",
|
||||||
|
Path: "/photos",
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.NoError(t, db.Save(&rootAlbum).Error)
|
||||||
|
assert.NoError(t, db.Model(&user).Association("Albums").Append(&rootAlbum))
|
||||||
|
|
||||||
|
media := models.Media{
|
||||||
|
Title: "pic1",
|
||||||
|
Path: "/photos/pic1",
|
||||||
|
AlbumID: rootAlbum.ID,
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.NoError(t, db.Save(&media).Error)
|
||||||
|
|
||||||
|
// test that it starts out being false
|
||||||
|
favourite, err := dataloader.NewUserFavoriteLoader(db).Load(&models.UserMediaData{
|
||||||
|
UserID: user.ID,
|
||||||
|
MediaID: media.ID,
|
||||||
|
})
|
||||||
|
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.False(t, favourite)
|
||||||
|
|
||||||
|
favMedia, err := user.FavoriteMedia(db, media.ID, true)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.NotNil(t, favMedia)
|
||||||
|
|
||||||
|
// test that it is now true
|
||||||
|
favourite, err = dataloader.NewUserFavoriteLoader(db).Load(&models.UserMediaData{
|
||||||
|
UserID: user.ID,
|
||||||
|
MediaID: media.ID,
|
||||||
|
})
|
||||||
|
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.True(t, favourite)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue