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"))
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")) })