package e2eimport ("github.com/navidrome/navidrome/server/subsonic/responses". "github.com/onsi/ginkgo/v2". "github.com/onsi/gomega")var _ = Describe("User Endpoints", func() {BeforeEach(func() {setupTestDB()})It("getUser returns current user info", func() {resp := doReq("getUser", "username", adminUser.UserName)Expect(resp.Status).To(Equal(responses.StatusOK))Expect(resp.User).ToNot(BeNil())Expect(resp.User.Username).To(Equal(adminUser.UserName))Expect(resp.User.AdminRole).To(BeTrue())Expect(resp.User.StreamRole).To(BeTrue())Expect(resp.User.Folder).ToNot(BeEmpty())})It("getUser with matching username case-insensitive succeeds", func() {resp := doReq("getUser", "username", "Admin")Expect(resp.Status).To(Equal(responses.StatusOK))Expect(resp.User).ToNot(BeNil())Expect(resp.User.Username).To(Equal(adminUser.UserName))})It("getUser with different username returns authorization error", func() {resp := doReq("getUser", "username", "otheruser")Expect(resp.Status).To(Equal(responses.StatusFailed))Expect(resp.Error).ToNot(BeNil())})It("getUsers returns list with current user only", func() {resp := doReq("getUsers")Expect(resp.Status).To(Equal(responses.StatusOK))Expect(resp.Users).ToNot(BeNil())Expect(resp.Users.User).To(HaveLen(1))Expect(resp.Users.User[0].Username).To(Equal(adminUser.UserName))Expect(resp.Users.User[0].AdminRole).To(BeTrue())})})