package e2e import ( "github.com/navidrome/navidrome/server/subsonic/responses" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) var _ = Describe("Scan Endpoints", func() { BeforeEach(func() { setupTestDB() }) It("getScanStatus returns status", func() { resp := doReq("getScanStatus") Expect(resp.Status).To(Equal(responses.StatusOK)) Expect(resp.ScanStatus).ToNot(BeNil()) Expect(resp.ScanStatus.Scanning).To(BeFalse()) Expect(resp.ScanStatus.Count).To(BeNumerically(">", 0)) Expect(resp.ScanStatus.LastScan).ToNot(BeNil()) }) It("startScan requires admin user", func() { regularUser := createUser("user-2", "regular", "Regular User", false) resp := doReqWithUser(regularUser, "startScan") Expect(resp.Status).To(Equal(responses.StatusFailed)) Expect(resp.Error).ToNot(BeNil()) }) It("startScan returns scan status response", func() { resp := doReq("startScan") Expect(resp.Status).To(Equal(responses.StatusOK)) Expect(resp.ScanStatus).ToNot(BeNil()) }) })