コード例 #1
0
		kindsRepo = mocks.NewKindsRepo()
		templatesRepo = mocks.NewTemplatesRepo()

		assigner = services.NewTemplateAssigner(clientsRepo, kindsRepo, templatesRepo)
	})

	Describe("AssignToClient", func() {
		BeforeEach(func() {
			var err error

			clientsRepo.FindCall.Returns.Client = models.Client{
				ID: "my-client",
			}

			_, err = templatesRepo.Create(conn, models.Template{
				ID: "default",
			})
			Expect(err).NotTo(HaveOccurred())

			_, err = templatesRepo.Create(conn, models.Template{
				ID: "my-template",
			})
			Expect(err).NotTo(HaveOccurred())
		})

		It("assigns the template to the given client", func() {
			err := assigner.AssignToClient(database, "my-client", "my-template")
			Expect(err).NotTo(HaveOccurred())

			Expect(clientsRepo.FindCall.Receives.Connection).To(Equal(conn))
			Expect(clientsRepo.FindCall.Receives.ClientID).To(Equal("my-client"))
コード例 #2
0
var _ = Describe("Deleter", func() {
	var (
		deleter       services.TemplateDeleter
		templatesRepo *mocks.TemplatesRepo
		database      *mocks.Database
		conn          *mocks.Connection
	)

	BeforeEach(func() {
		conn = mocks.NewConnection()
		database = mocks.NewDatabase()
		database.ConnectionCall.Returns.Connection = conn

		templatesRepo = mocks.NewTemplatesRepo()
		_, err := templatesRepo.Create(conn, models.Template{
			ID: "templateID",
		})
		Expect(err).NotTo(HaveOccurred())

		deleter = services.NewTemplateDeleter(templatesRepo)
	})

	Describe("#Delete", func() {
		It("calls destroy on its repo", func() {
			err := deleter.Delete(database, "templateID")
			Expect(err).NotTo(HaveOccurred())

			Expect(templatesRepo.DestroyCall.Receives.Connection).To(Equal(conn))
			Expect(templatesRepo.DestroyCall.Receives.TemplateID).To(Equal("templateID"))
		})