BeforeEach(func() { fakeContainer.GetPropertyReturns("", errors.New("oh no!")) }) It("returns an error", func() { value, err := container.GetProperty("some-property") Ω(err).Should(HaveOccurred()) Ω(value).Should(BeZero()) }) }) }) Describe("setting", func() { Context("when setting the property succeeds", func() { BeforeEach(func() { fakeContainer.SetPropertyReturns(nil) }) It("sets the property on the container", func() { err := container.SetProperty("some-property", "some-value") Ω(err).ShouldNot(HaveOccurred()) Ω(fakeContainer.SetPropertyCallCount()).Should(Equal(1)) name, value := fakeContainer.SetPropertyArgsForCall(0) Ω(name).Should(Equal("some-property")) Ω(value).Should(Equal("some-value")) }) itResetsGraceTimeWhenHandling(func() { err := container.SetProperty("some-property", "some-value")