Expect(r.Params).To(BeAssignableToTypeOf(&cloudformation.UpdateStackInput{}))
				Expect(r.Params).To(Equal(updateStackInput))
				r.Error = updateStackError
			}
			cfsvc.Handlers.Send.PushBack(cfCall)
		})

		It("creates the Stack", func() {
			err := stack.Modify(stackName, stackDetails)
			Expect(err).ToNot(HaveOccurred())
		})

		Context("when has Capabilities", func() {
			BeforeEach(func() {
				stackDetails.Capabilities = []string{"test-capability"}
				updateStackInput.Capabilities = aws.StringSlice([]string{"test-capability"})
			})

			It("makes the proper call", func() {
				err := stack.Modify(stackName, stackDetails)
				Expect(err).ToNot(HaveOccurred())
			})
		})

		Context("when has NotificationARNs", func() {
			BeforeEach(func() {
				stackDetails.NotificationARNs = []string{"test-notification-arn"}
				updateStackInput.NotificationARNs = aws.StringSlice([]string{"test-notification-arn"})
			})

			It("makes the proper call", func() {