🏡 index : quine-global/quintodrome.git

package persistence

import (
	"context"

	"github.com/navidrome/navidrome/log"
	"github.com/navidrome/navidrome/model"
	. "github.com/onsi/ginkgo/v2"
	. "github.com/onsi/gomega"
)

var _ = Describe("Property Repository", func() {
	var ctx context.Context
	var pr model.PropertyRepository

	BeforeEach(func() {
		ctx = log.NewContext(GinkgoT().Context())
		pr = NewPropertyRepository(GetDBXBuilder())
	})

	It("saves and restore a new property", func() {
		id := "1"
		value := "a_value"
		Expect(pr.Put(ctx, id, value)).To(BeNil())
		Expect(pr.Get(ctx, id)).To(Equal("a_value"))
	})

	It("updates a property", func() {
		Expect(pr.Put(ctx, "1", "another_value")).To(BeNil())
		Expect(pr.Get(ctx, "1")).To(Equal("another_value"))
	})

	It("returns a default value if property does not exist", func() {
		Expect(pr.DefaultGet(ctx, "2", "default")).To(Equal("default"))
	})
})