} }) It("gets the sandbox from the repository", func() { err := moveLink.Execute(context) Expect(err).NotTo(HaveOccurred()) Expect(sandboxRepository.GetCallCount()).To(Equal(1)) Expect(sandboxRepository.GetArgsForCall(0)).To(Equal("sandbox-name")) }) It("moves the link to the target namespace", func() { err := moveLink.Execute(context) Expect(err).NotTo(HaveOccurred()) Expect(linkFactory.SetNamespaceCallCount()).To(Equal(1)) name, fd := linkFactory.SetNamespaceArgsForCall(0) Expect(name).To(Equal("link-name")) Expect(fd).To(BeEquivalentTo(999)) }) Context("when getting the sandbox fails", func() { BeforeEach(func() { sandboxRepository.GetReturns(nil, errors.New("welp")) }) It("returns a meaningful error", func() { err := moveLink.Execute(context) Expect(err).To(MatchError("get sandbox: welp")) }) })