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

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

		Context("when has StackPolicyURL", func() {
			BeforeEach(func() {
				stackDetails.StackPolicyURL = "test-stack-policy-url"
				updateStackInput.StackPolicyURL = aws.String("test-stack-policy-url")
			})

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

		Context("when updating the Stack fails", func() {
			BeforeEach(func() {
				updateStackError = errors.New("operation failed")
			})

			It("returns the proper error", func() {
				err := stack.Modify(stackName, stackDetails)