Cpus:       2,
				MemoryInGB: 2,
				NicSpeed:   1000,
			})
			Expect(err).ToNot(HaveOccurred())
		})
	})

	Context("#GetAvailableUpgradeItemPrices", func() {
		BeforeEach(func() {
			fakeClient.DoRawHttpRequestResponse, err = testhelpers.ReadJsonTestFixtures("services", "SoftLayer_Product_Order_placeOrder.json")
			Expect(err).ToNot(HaveOccurred())
		})

		It("reports error when pricing item for provided CPUs is not available", func() {
			_, err := virtualGuestService.GetAvailableUpgradeItemPrices(&softlayer.UpgradeOptions{Cpus: 3})
			Expect(err).To(HaveOccurred())
			Expect(err.Error()).To(Equal("Failed to find price for 'cpus' (of size 3)"))
		})

		It("reports error when pricing item for provided RAM is not available", func() {
			_, err := virtualGuestService.GetAvailableUpgradeItemPrices(&softlayer.UpgradeOptions{MemoryInGB: 1500})
			Expect(err).To(HaveOccurred())
			Expect(err.Error()).To(Equal("Failed to find price for 'memory' (of size 1500)"))
		})

		It("reports error when pricing item for provided network speed is not available", func() {
			_, err := virtualGuestService.GetAvailableUpgradeItemPrices(&softlayer.UpgradeOptions{NicSpeed: 999})
			Expect(err).To(HaveOccurred())
			Expect(err.Error()).To(Equal("Failed to find price for 'nic_speed' (of size 999)"))
		})