class TestSimulatedInAppProduct(InAppPurchaseTest): def setUp(self): super(TestSimulatedInAppProduct, self).setUp() self.contribution = Contribution.objects.create() self.inapp.webapp = None self.inapp.simulate = json.dumps({'result': 'postback'}) self.inapp.stub = True self.inapp.save() self.product = SimulatedInAppProduct(self.inapp) def test_inapp_product(self): eq_(self.product.id(), self.inapp.pk) eq_(self.product.name(), unicode(self.inapp.name)) eq_(self.product.addon(), None) eq_(self.product.price(), self.inapp.price) eq_(self.product.icons()[64], absolutify(self.inapp.logo_url)) eq_(self.product.application_size(), None) eq_(self.product.description(), 'This is a stub product for testing only') eq_(self.product.simulation(), {'result': 'postback'}) product_data = self.product.product_data(self.contribution) eq_(product_data['contrib_uuid'], self.contribution.uuid) eq_(product_data['inapp_id'], self.product.id()) eq_(product_data['application_size'], self.product.application_size())