package persistence import ( "context" "github.com/astaxie/beego/orm" "github.com/deluan/navidrome/log" "github.com/deluan/navidrome/model" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("UserRepository", func() { var repo model.UserRepository BeforeEach(func() { repo = NewUserRepository(log.NewContext(context.TODO()), orm.NewOrm()) }) Describe("Put/Get/FindByUsername", func() { usr := model.User{ ID: "123", UserName: "AdMiN", Name: "Admin", Email: "admin@admin.com", Password: "wordpass", IsAdmin: true, } It("saves the user to the DB", func() { Expect(repo.Put(&usr)).To(BeNil()) }) It("returns the newly created user", func() { actual, err := repo.Get("123") Expect(err).ToNot(HaveOccurred()) Expect(actual.Name).To(Equal("Admin")) }) It("find the user by case-insensitive username", func() { actual, err := repo.FindByUsername("aDmIn") Expect(err).ToNot(HaveOccurred()) Expect(actual.Name).To(Equal("Admin")) }) }) })