photoprism/internal/entity/reaction_fixtures.go
Michael Mayer 3512c7be4f Reactions: Ignore error, should a test fixture already exist
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-08 19:13:39 +02:00

53 lines
1.2 KiB
Go

package entity
import "github.com/photoprism/photoprism/pkg/react"
type ReactionMap map[string]Reaction
func (m ReactionMap) Get(name string) Reaction {
if result, ok := m[name]; ok {
return result
}
return Reaction{}
}
func (m ReactionMap) Pointer(name string) *Reaction {
if result, ok := m[name]; ok {
return &result
}
return &Reaction{}
}
var ReactionFixtures = ReactionMap{
"SubjectJohnLike": Reaction{
UID: SubjectFixtures.Get("john-doe").SubjUID,
UserUID: UserFixtures.Get("alice").UserUID,
Reaction: react.Like.String(),
Reacted: 1,
ReactedAt: TimePointer(),
},
"PhotoAliceLove": Reaction{
UID: PhotoFixtures.Get("Photo01").PhotoUID,
UserUID: UserFixtures.Pointer("alice").UserUID,
Reaction: react.Love.String(),
Reacted: 3,
ReactedAt: TimePointer(),
},
"PhotoBobLove": Reaction{
UID: PhotoFixtures.Get("Photo01").PhotoUID,
UserUID: UserFixtures.Pointer("bob").UserUID,
Reaction: react.Love.String(),
Reacted: 1,
ReactedAt: TimePointer(),
},
}
// CreateReactionFixtures inserts known entities into the database for testing.
func CreateReactionFixtures() {
for _, entity := range ReactionFixtures {
Db().Create(&entity)
}
}