}) Context("when getting the sandbox from the sandbox repository fails", func() { BeforeEach(func() { sandboxRepo.GetReturns(nil, errors.New("lime")) }) It("returns a meaningful error", func() { err := startDNS.Execute(context) Expect(err).To(MatchError("get sandbox: lime")) }) }) Context("when launching the DNS server on the sandbox returns an error", func() { BeforeEach(func() { sbox.LaunchDNSReturns(errors.New("bergamot")) }) It("returns a meaningful error", func() { err := startDNS.Execute(context) Expect(err).To(MatchError("sandbox launch dns: bergamot")) }) }) Describe("String", func() { It("returns a human readable representation", func() { Expect(startDNS.String()).To(Equal("start dns server in sandbox some-sandbox-name")) }) }) })