)) }) }) Describe("when logged in", func() { BeforeEach(func() { requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) }) It("Sets the staging environment variable group", func() { runCommand(`{"abc":"123", "def": "456"}`) Expect(ui.Outputs()).To(ContainSubstrings( []string{"Setting the contents of the staging environment variable group as my-user..."}, []string{"OK"}, )) Expect(environmentVariableGroupRepo.SetStagingArgsForCall(0)).To(Equal(`{"abc":"123", "def": "456"}`)) }) It("Fails with a reasonable message when invalid JSON is passed", func() { environmentVariableGroupRepo.SetStagingReturns(cf_errors.NewHTTPError(400, cf_errors.MessageParseError, "Request invalid due to parse error")) runCommand(`{"abc":"123", "invalid : "json"}`) Expect(ui.Outputs()).To(ContainSubstrings( []string{"Setting the contents of the staging environment variable group as my-user..."}, []string{"FAILED"}, []string{`Your JSON string syntax is invalid. Proper syntax is this: cf set-staging-environment-variable-group '{"name":"value","name":"value"}'`}, )) }) }) })