Exemplo n.º 1
0
		})

		JustBeforeEach(func() {
			var err error
			request, err = http.NewRequest("", fmt.Sprintf("http://example.com/?:task_guid=%s", taskGuid), nil)
			Expect(err).NotTo(HaveOccurred())
			handler.GetByGuid(responseRecorder, request)
		})

		Context("when the guid is not provided", func() {
			BeforeEach(func() {
				taskGuid = ""
			})

			It("does not call TaskByGuid", func() {
				Expect(fakeBBS.TaskByGuidCallCount()).To(Equal(0))
			})

			It("responds with a 400 Bad Request", func() {
				handler.GetByGuid(responseRecorder, request)
				Expect(responseRecorder.Code).To(Equal(http.StatusBadRequest))
			})

			It("responds with a relevant error message", func() {
				var taskError receptor.Error

				err := json.Unmarshal(responseRecorder.Body.Bytes(), &taskError)
				Expect(err).NotTo(HaveOccurred())
				Expect(taskError).To(Equal(receptor.Error{
					Type:    receptor.InvalidRequest,
					Message: "task_guid missing from request",