productItems, err := productPackageService.GetItemsByType("VIRTUAL_SERVER_INSTANCE")
			Expect(err).ToNot(HaveOccurred())
			Expect(len(productItems)).To(Equal(2))
			Expect(productItems[0].Id).To(Equal(123))
			Expect(productItems[0].Prices[0].Id).To(Equal(456))
		})
	})

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

		It("returns an array of datatypes.Softlayer_Product_Package", func() {
			productPackages, err := productPackageService.GetPackagesByType("VIRTUAL_SERVER_INSTANCE")
			Expect(err).ToNot(HaveOccurred())
			Expect(len(productPackages)).To(Equal(4))
			Expect(productPackages[0].Id).To(Equal(200))
			Expect(productPackages[0].Name).To(Equal("Cloud Server 1"))
		})

		It("skips packaged marked OUTLET", func() {
			fakeClient.DoRawHttpRequestResponse, err = testhelpers.ReadJsonTestFixtures("services", "SoftLayer_Product_Package_getAllObjects_virtual_server_with_OUTLET.json")
			productPackages, err := productPackageService.GetPackagesByType("VIRTUAL_SERVER_INSTANCE")
			Expect(err).ToNot(HaveOccurred())
			Expect(len(productPackages)).To(Equal(3)) // OUTLET should be skipped
			Expect(productPackages[0].Id).To(Equal(202))
			Expect(productPackages[0].Name).To(Equal("Cloud Server 2"))
		})
	})