}) Context("when authenticated", func() { BeforeEach(func() { authValidator.IsAuthenticatedReturns(true) }) It("injects the proper pipelineDB", func() { Expect(pipelineDBFactory.BuildWithNameCallCount()).To(Equal(1)) pipelineName := pipelineDBFactory.BuildWithNameArgsForCall(0) Expect(pipelineName).To(Equal("a-pipeline")) }) Context("when pausing the resource succeeds", func() { BeforeEach(func() { pipelineDB.PauseResourceReturns(nil) }) It("paused the right resource", func() { Expect(pipelineDB.PauseResourceArgsForCall(0)).To(Equal("resource-name")) }) It("returns 200", func() { Expect(response.StatusCode).To(Equal(http.StatusOK)) }) }) Context("when pausing the resource fails", func() { BeforeEach(func() { pipelineDB.PauseResourceReturns(errors.New("welp")) })