def setUp(self): self.baseSetUp() self.ids = [] self.expected = { 'date': datetime.datetime.today(), 'revenue': 0, 'count': 5, 'refunds': 2 } for x in range(self.expected['count']): c = Contribution.objects.create( addon_id=self.app.pk, type=amo.CONTRIB_PURCHASE, amount=str(random.randint(0, 10) + .99), price_tier=self.price_tier) self.expected['revenue'] += cut(self.usd_price) self.ids.append(c.id) # Create 2 refunds. if x % 2 == 1: c.uuid = 123 c.save() Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected['revenue'] -= cut(self.usd_price) self.expected['count'] -= 1
def setUp(self): self.baseSetUp() self.currencies = ["CAD", "USD", "EUR"] self.expected = { "CAD": {"revenue": 0, "count": 3, "refunds": 1, "revenue_non_normalized": 0}, "USD": {"revenue": 0, "count": 4, "refunds": 1, "revenue_non_normalized": 0}, "EUR": {"revenue": 0, "count": 2, "refunds": 1, "revenue_non_normalized": 0}, } for currency in self.currencies: # Create sales. for x in range(self.expected[currency]["count"]): amount = str(random.randint(0, 10)) c = Contribution.objects.create( addon_id=self.app.pk, user=self.user, type=amo.CONTRIB_PURCHASE, currency=currency, amount=amount, price_tier=self.price_tier, ) self.expected[currency]["revenue"] += cut(self.usd_price) self.expected[currency]["revenue_non_normalized"] += cut(amount) # Create refunds. Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected[currency]["revenue"] -= cut(self.usd_price) self.expected[currency]["revenue_non_normalized"] -= cut(amount) self.expected[currency]["count"] -= 1 self.refresh()
def setUp(self): self.app = amo.tests.app_factory() self.inapp = InappConfig.objects.create( addon=self.app, public_key='asd') self.inapp_name = 'test' self.c_ids = [] self.ids = [] self.expected = { self.inapp_name: { 'date': datetime.datetime.today(), 'revenue': 0, 'count': 5, 'refunds': 2 } } for x in range(self.expected[self.inapp_name]['count']): c = Contribution.objects.create(addon_id=self.app.pk, amount=str(random.randint(0, 10) + .99), type=amo.CONTRIB_PURCHASE) self.c_ids.append(c.id) i = InappPayment.objects.create(config=self.inapp, contribution=c, name=self.inapp_name) self.expected[self.inapp_name]['revenue'] += cut(c.amount) self.ids.append(i.id) for x in range(self.expected[self.inapp_name]['refunds']): c = Contribution.objects.get(id=self.c_ids[x]) c.update(uuid=123) Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected[self.inapp_name]['revenue'] -= cut(c.amount) self.expected[self.inapp_name]['count'] -= 1
def setUp(self): self.baseSetUp() self.sources = ['mkt-home', 'front-search', 'featured'] self.expected = { 'mkt-home': {'revenue': 0, 'count': 2, 'refunds': 1}, 'front-search': {'revenue': 0, 'count': 3, 'refunds': 1}, 'featured': {'revenue': 0, 'count': 4, 'refunds': 1} } for source in self.sources: # Create sales. for x in range(self.expected[source]['count']): c = Contribution.objects.create( addon_id=self.app.pk, source=source, type=amo.CONTRIB_PURCHASE, amount=str(random.randint(0, 10) + .99), price_tier=self.price_tier) self.expected[source]['revenue'] += cut(self.usd_price) # Create refunds. Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected[source]['revenue'] -= cut(self.usd_price) self.expected[source]['count'] -= 1 self.refresh()
def setUp(self): self.app = amo.tests.app_factory() self.inapp = InappConfig.objects.create( addon=self.app, public_key='asd') self.inapp_name = 'test' self.sources = ['home', 'mkt-search', 'FEATURED'] self.expected = { self.inapp_name: { self.sources[0]: {'revenue': 0, 'count': 3, 'refunds': 1}, self.sources[1]: {'revenue': 0, 'count': 4, 'refunds': 1}, self.sources[2]: {'revenue': 0, 'count': 2, 'refunds': 1} } } for source in self.sources: # Create sales. for x in range(self.expected[self.inapp_name][source]['count']): c = Contribution.objects.create(addon_id=self.app.pk, source=source, amount=str(random.randint(0, 10) + .99)) InappPayment.objects.create(config=self.inapp, contribution=c, name=self.inapp_name) self.expected[self.inapp_name][source]['revenue'] += cut( c.amount) # Create refunds. Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected[self.inapp_name][source]['revenue'] -= cut(c.amount) self.expected[self.inapp_name][source]['count'] -= 1 self.refresh()
def setUp(self): self.baseSetUp() self.expected = { self.inapp_name: { 'revenue': 0, 'count': 5, 'refunds': 2 } } self.expected_inapp = self.expected[self.inapp_name] for x in range(self.expected[self.inapp_name]['count']): c = Contribution.objects.create( addon_id=self.app.pk, type=amo.CONTRIB_PURCHASE, amount=str(random.randint(0, 10) + .99), price_tier=self.price_tier) InappPayment.objects.create(config=self.inapp, contribution=c, name=self.inapp_name) self.expected_inapp['revenue'] += cut(self.usd_price) # Create 2 refunds. if x % 2 == 1: Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected_inapp['revenue'] -= cut(self.usd_price) self.expected_inapp['count'] -= 1 self.refresh()
def setUp(self): self.baseSetUp() self.sources = ["mkt-home", "front-search", "featured"] self.expected = { "mkt-home": {"revenue": 0, "count": 2, "refunds": 1}, "front-search": {"revenue": 0, "count": 3, "refunds": 1}, "featured": {"revenue": 0, "count": 4, "refunds": 1}, } for source in self.sources: # Create sales. for x in range(self.expected[source]["count"]): c = Contribution.objects.create( user=self.user, addon_id=self.app.pk, source=source, type=amo.CONTRIB_PURCHASE, amount=str(random.randint(0, 10) + 0.99), price_tier=self.price_tier, ) self.expected[source]["revenue"] += cut(self.usd_price) # Create refunds. Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected[source]["revenue"] -= cut(self.usd_price) self.expected[source]["count"] -= 1 self.refresh()
def setUp(self): self.baseSetUp() self.currencies = ['CAD', 'USD', 'EUR'] self.expected = { 'CAD': {'revenue': 0, 'count': 3, 'refunds': 1, 'revenue_non_normalized': 0}, 'USD': {'revenue': 0, 'count': 4, 'refunds': 1, 'revenue_non_normalized': 0}, 'EUR': {'revenue': 0, 'count': 2, 'refunds': 1, 'revenue_non_normalized': 0} } for currency in self.currencies: # Create sales. for x in range(self.expected[currency]['count']): amount = str(random.randint(0, 10)) c = Contribution.objects.create(addon_id=self.app.pk, type=amo.CONTRIB_PURCHASE, currency=currency, amount=amount, price_tier=self.price_tier) self.expected[currency]['revenue'] += cut(self.usd_price) self.expected[currency]['revenue_non_normalized'] += cut( amount) # Create refunds. Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected[currency]['revenue'] -= cut(self.usd_price) self.expected[currency]['revenue_non_normalized'] -= cut(amount) self.expected[currency]['count'] -= 1 self.refresh()
def setUp(self): self.baseSetUp() self.sources = ['home', 'mkt-search', 'FEATURED'] self.expected = { self.inapp_name: { self.sources[0]: {'revenue': 0, 'count': 3, 'refunds': 1}, self.sources[1]: {'revenue': 0, 'count': 4, 'refunds': 1}, self.sources[2]: {'revenue': 0, 'count': 2, 'refunds': 1} } } self.expected_inapp = self.expected[self.inapp_name] for source in self.sources: # Create sales. for x in range(self.expected_inapp[source]['count']): c = Contribution.objects.create(addon_id=self.app.pk, type=amo.CONTRIB_PURCHASE, source=source, amount=str(random.randint(0, 10) + .99), price_tier=self.price_tier) InappPayment.objects.create(config=self.inapp, contribution=c, name=self.inapp_name) self.expected_inapp[source]['revenue'] += cut(self.usd_price) # Create refunds. Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected_inapp[source]['revenue'] -= cut(self.usd_price) self.expected_inapp[source]['count'] -= 1 self.refresh()
def setUp(self): self.baseSetUp() self.c_ids = [] self.ids = [] self.expected = { self.inapp_name: { 'date': datetime.datetime.today(), 'revenue': 0, 'count': 5, 'refunds': 2 } } for x in range(self.expected[self.inapp_name]['count']): c = Contribution.objects.create(addon_id=self.app.pk, type=amo.CONTRIB_PURCHASE, amount=str(random.randint(0, 10) + .99), price_tier=self.price_tier) self.c_ids.append(c.id) i = InappPayment.objects.create(config=self.inapp, contribution=c, name=self.inapp_name) self.expected[self.inapp_name]['revenue'] += cut(self.usd_price) self.ids.append(i.id) for x in range(self.expected[self.inapp_name]['refunds']): c = Contribution.objects.get(id=self.c_ids[x]) c.update(uuid=123) Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected[self.inapp_name]['revenue'] -= cut(self.usd_price) self.expected[self.inapp_name]['count'] -= 1
def setUp(self): self.baseSetUp() self.c_ids = [] self.ids = [] self.expected = { self.inapp_name: { 'date': datetime.datetime.today(), 'revenue': 0, 'count': 5, 'refunds': 2 } } for x in range(self.expected[self.inapp_name]['count']): c = Contribution.objects.create( addon_id=self.app.pk, type=amo.CONTRIB_PURCHASE, amount=str(random.randint(0, 10) + .99), price_tier=self.price_tier) self.c_ids.append(c.id) i = InappPayment.objects.create(config=self.inapp, contribution=c, name=self.inapp_name) self.expected[self.inapp_name]['revenue'] += cut(self.usd_price) self.ids.append(i.id) for x in range(self.expected[self.inapp_name]['refunds']): c = Contribution.objects.get(id=self.c_ids[x]) c.update(uuid=123) Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected[self.inapp_name]['revenue'] -= cut(self.usd_price) self.expected[self.inapp_name]['count'] -= 1
def setUp(self): self.app = amo.tests.app_factory() self.inapp = InappConfig.objects.create( addon=self.app, public_key='asd') self.inapp_name = 'test' self.currencies = ['CAD', 'USD', 'EUR'] self.expected = { self.inapp_name: { 'CAD': {'revenue': 0, 'count': 3, 'refunds': 1}, 'USD': {'revenue': 0, 'count': 4, 'refunds': 1}, 'EUR': {'revenue': 0, 'count': 2, 'refunds': 1} } } for currency in self.currencies: # Create sales. for x in range(self.expected[self.inapp_name][currency]['count']): c = Contribution.objects.create(addon_id=self.app.pk, currency=currency, amount=str(random.randint(0, 10) + .99)) InappPayment.objects.create(config=self.inapp, contribution=c, name=self.inapp_name) self.expected[self.inapp_name][currency]['revenue'] += cut( c.amount) # Create refunds. Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected[self.inapp_name][currency]['revenue'] -= cut( c.amount) self.expected[self.inapp_name][currency]['count'] -= 1 self.refresh()
def setUp(self): self.baseSetUp() self.expected = { self.inapp_name: {'revenue': 0, 'count': 5, 'refunds': 2} } self.expected_inapp = self.expected[self.inapp_name] for x in range(self.expected[self.inapp_name]['count']): c = Contribution.objects.create(addon_id=self.app.pk, type=amo.CONTRIB_PURCHASE, amount=str(random.randint(0, 10) + .99), price_tier=self.price_tier) InappPayment.objects.create(config=self.inapp, contribution=c, name=self.inapp_name) self.expected_inapp['revenue'] += cut(self.usd_price) # Create 2 refunds. if x % 2 == 1: Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected_inapp['revenue'] -= cut(self.usd_price) self.expected_inapp['count'] -= 1 self.refresh()
def setUp(self): self.baseSetUp() self.sources = ["home", "mkt-search", "FEATURED"] self.expected = { self.inapp_name: { self.sources[0]: {"revenue": 0, "count": 3, "refunds": 1}, self.sources[1]: {"revenue": 0, "count": 4, "refunds": 1}, self.sources[2]: {"revenue": 0, "count": 2, "refunds": 1}, } } self.expected_inapp = self.expected[self.inapp_name] for source in self.sources: # Create sales. for x in range(self.expected_inapp[source]["count"]): c = Contribution.objects.create( addon_id=self.app.pk, user=self.user, type=amo.CONTRIB_PURCHASE, source=source, amount=str(random.randint(0, 10) + 0.99), price_tier=self.price_tier, ) InappPayment.objects.create(config=self.inapp, contribution=c, name=self.inapp_name) self.expected_inapp[source]["revenue"] += cut(self.usd_price) # Create refunds. Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected_inapp[source]["revenue"] -= cut(self.usd_price) self.expected_inapp[source]["count"] -= 1 self.refresh()
def setUp(self): self.baseSetUp() self.currencies = ['CAD', 'USD', 'EUR'] self.expected = { self.inapp_name: { 'CAD': { 'revenue': 0, 'count': 3, 'refunds': 1, 'revenue_non_normalized': 0 }, 'USD': { 'revenue': 0, 'count': 4, 'refunds': 1, 'revenue_non_normalized': 0 }, 'EUR': { 'revenue': 0, 'count': 2, 'refunds': 1, 'revenue_non_normalized': 0 } } } expected_inapp = self.expected[self.inapp_name] for currency in self.currencies: # Create sales. for x in range(self.expected[self.inapp_name][currency]['count']): amount = str(random.randint(0, 10)) c = Contribution.objects.create(addon_id=self.app.pk, type=amo.CONTRIB_PURCHASE, currency=currency, amount=amount, price_tier=self.price_tier) InappPayment.objects.create(config=self.inapp, contribution=c, name=self.inapp_name) expected_inapp_curr = expected_inapp[currency] expected_inapp_curr['revenue'] += cut(self.usd_price) expected_inapp_curr['revenue_non_normalized'] += cut(amount) # Create refunds. Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) expected_inapp[currency]['revenue'] -= cut(self.usd_price) expected_inapp[currency]['revenue_non_normalized'] -= cut(amount) self.expected[self.inapp_name][currency]['count'] -= 1 self.refresh()
def setUp(self): # Create apps and contributions to index. self.app = amo.tests.app_factory() price_tier = Price.objects.create(price='0.99') # Create some revenue for several different currencies. self.expected = [{ 'currency': 'CAD', 'count': 0 }, { 'currency': 'EUR', 'count': 0 }, { 'currency': 'USD', 'count': 0 }] for expected in self.expected: for x in range(random.randint(1, 4)): # Amount doesn't matter for this stat since based off of price # tier (USD normalized). Contribution.objects.create(addon_id=self.app.pk, amount=random.randint(0, 10), currency=expected['currency'], price_tier=price_tier) expected['count'] += cut(price_tier.price) expected['count'] = int(expected['count']) tasks.index_finance_total_by_currency([self.app.pk]) self.refresh(timesleep=1)
def setUp(self): self.app = amo.tests.app_factory() self.expected = {'revenue': 0, 'count': 5, 'refunds': 2} for x in range(self.expected['count']): c = Contribution.objects.create(addon_id=self.app.pk, amount=str(random.randint(0, 10) + .99)) self.expected['revenue'] += cut(c.amount) # Create 2 refunds. if x % 2 == 1: Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected['revenue'] -= cut(c.amount) self.expected['count'] -= 1 self.refresh()
def setUp(self): self.baseSetUp() today = datetime.datetime.today() date = datetime.datetime(today.year, today.month, today.day) self.ids = [] self.expected = { 'addon': self.app.pk, 'date': date, 'revenue': Decimal('0'), 'count': 3, 'refunds': 1 } for x in range(self.expected['count']): c = Contribution.objects.create(addon_id=self.app.pk, type=amo.CONTRIB_PURCHASE, amount=str(random.randint(0, 10)), price_tier=self.price_tier) self.refresh(timesleep=1) self.ids.append(c.id) self.expected['revenue'] += Decimal(self.usd_price) c.update(uuid=123) Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected['revenue'] -= Decimal(self.usd_price) self.expected['count'] -= 1 self.expected['revenue'] = cut(self.expected['revenue'])
def setUp(self): self.baseSetUp() today = datetime.datetime.today() date = datetime.datetime(today.year, today.month, today.day) self.ids = [] self.expected = {'addon': self.app.pk, 'date': date, 'revenue': 0, 'count': 3, 'refunds': 1} for x in range(self.expected['count']): c = Contribution.objects.create(addon_id=self.app.pk, type=amo.CONTRIB_PURCHASE, amount=str(random.randint(0, 10)), price_tier=self.price_tier) self.refresh(timesleep=1) self.ids.append(c.id) self.expected['revenue'] += self.usd_price c.update(uuid=123) Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected['revenue'] -= self.usd_price self.expected['count'] -= 1 self.expected['revenue'] = cut(self.expected['revenue'])
def setUp(self): super(TestGetSeriesColumn, self).setUp() # Create apps and contributions to index. self.app = amo.tests.app_factory() self.user = UserProfile.objects.get(username='******') price_tier = Price.objects.create(price='0.99') # Create some revenue for several different currencies. self.expected = [ {'currency': 'CAD', 'count': 0}, {'currency': 'EUR', 'count': 0}, {'currency': 'USD', 'count': 0} ] for expected in self.expected: for x in range(random.randint(1, 4)): # Amount doesn't matter for this stat since based off of price # tier (USD normalized). Contribution.objects.create(addon_id=self.app.pk, user=self.user, amount=random.randint(0, 10), currency=expected['currency'], price_tier=price_tier) expected['count'] += cut(price_tier.price) expected['count'] = int(expected['count']) tasks.index_finance_total_by_currency([self.app.pk]) self.refresh(timesleep=1)
def setUp(self): self.baseSetUp() today = datetime.datetime.today() date = datetime.datetime(today.year, today.month, today.day) self.ids = [] self.expected = {"addon": self.app.pk, "date": date, "revenue": Decimal("0"), "count": 3, "refunds": 1} for x in range(self.expected["count"]): c = Contribution.objects.create( addon_id=self.app.pk, user=self.user, type=amo.CONTRIB_PURCHASE, amount=str(random.randint(0, 10)), price_tier=self.price_tier, ) self.refresh(timesleep=1) self.ids.append(c.id) self.expected["revenue"] += Decimal(self.usd_price) c.update(uuid=123) Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected["revenue"] -= Decimal(self.usd_price) self.expected["count"] -= 1 self.expected["revenue"] = cut(self.expected["revenue"])
def setUp(self): self.baseSetUp() self.sources = ['home', 'mkt-search', 'FEATURED'] self.expected = { self.inapp_name: { self.sources[0]: { 'revenue': 0, 'count': 3, 'refunds': 1 }, self.sources[1]: { 'revenue': 0, 'count': 4, 'refunds': 1 }, self.sources[2]: { 'revenue': 0, 'count': 2, 'refunds': 1 } } } self.expected_inapp = self.expected[self.inapp_name] for source in self.sources: # Create sales. for x in range(self.expected_inapp[source]['count']): c = Contribution.objects.create( addon_id=self.app.pk, type=amo.CONTRIB_PURCHASE, source=source, amount=str(random.randint(0, 10) + .99), price_tier=self.price_tier) InappPayment.objects.create(config=self.inapp, contribution=c, name=self.inapp_name) self.expected_inapp[source]['revenue'] += cut(self.usd_price) # Create refunds. Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected_inapp[source]['revenue'] -= cut(self.usd_price) self.expected_inapp[source]['count'] -= 1 self.refresh()
def setUp(self): self.baseSetUp() self.expected = {"revenue": 0, "count": 5, "refunds": 2} for x in range(self.expected["count"]): c = Contribution.objects.create( user=self.user, addon_id=self.app.pk, type=amo.CONTRIB_PURCHASE, amount=str(random.randint(0, 10) + 0.99), price_tier=self.price_tier, ) self.expected["revenue"] += cut(self.usd_price) # Create 2 refunds. if x % 2 == 1: Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected["revenue"] -= cut(self.usd_price) self.expected["count"] -= 1 self.refresh()
def setUp(self): self.app = amo.tests.app_factory() self.sources = ['mkt-home', 'front-search', 'featured'] self.expected = { 'mkt-home': {'revenue': 0, 'count': 2, 'refunds': 1}, 'front-search': {'revenue': 0, 'count': 3, 'refunds': 1}, 'featured': {'revenue': 0, 'count': 4, 'refunds': 1} } for source in self.sources: # Create sales. for x in range(self.expected[source]['count']): c = Contribution.objects.create(addon_id=self.app.pk, source=source, amount=str(random.randint(0, 10) + .99)) self.expected[source]['revenue'] += cut(c.amount) # Create refunds. Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected[source]['revenue'] -= cut(c.amount) self.expected[source]['count'] -= 1 self.refresh()
def setUp(self): self.app = amo.tests.app_factory() self.ids = [] self.expected = {'date': datetime.datetime.today(), 'revenue': 0, 'count': 5, 'refunds': 2} for x in range(self.expected['count']): c = Contribution.objects.create(addon_id=self.app.pk, amount=str(random.randint(0, 10) + .99), type=amo.CONTRIB_PURCHASE) self.expected['revenue'] += cut(c.amount) self.ids.append(c.id) # Create 2 refunds. if x % 2 == 1: c.uuid = 123 c.save() Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected['revenue'] -= cut(c.amount) self.expected['count'] -= 1
def setUp(self): self.baseSetUp() self.ids = [] self.expected = {"date": datetime.datetime.today(), "revenue": 0, "count": 5, "refunds": 2} for x in range(self.expected["count"]): c = Contribution.objects.create( addon_id=self.app.pk, user=self.user, type=amo.CONTRIB_PURCHASE, amount=str(random.randint(0, 10) + 0.99), price_tier=self.price_tier, ) self.expected["revenue"] += cut(self.usd_price) self.ids.append(c.id) # Create 2 refunds. if x % 2 == 1: c.uuid = 123 c.save() Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected["revenue"] -= cut(self.usd_price) self.expected["count"] -= 1
def setUp(self): self.app = amo.tests.app_factory() self.inapp = InappConfig.objects.create( addon=self.app, public_key='asd') self.inapp_name = 'test' self.expected = { self.inapp_name: {'revenue': 0, 'count': 5, 'refunds': 2} } for x in range(self.expected[self.inapp_name]['count']): c = Contribution.objects.create(addon_id=self.app.pk, amount=str(random.randint(0, 10) + .99)) InappPayment.objects.create(config=self.inapp, contribution=c, name=self.inapp_name) self.expected[self.inapp_name]['revenue'] += cut(c.amount) # Create 2 refunds. if x % 2 == 1: Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected[self.inapp_name]['revenue'] -= cut(c.amount) self.expected[self.inapp_name]['count'] -= 1 self.refresh()
def setUp(self): self.baseSetUp() self.sources = ['mkt-home', 'front-search', 'featured'] self.expected = { 'mkt-home': { 'revenue': 0, 'count': 2, 'refunds': 1 }, 'front-search': { 'revenue': 0, 'count': 3, 'refunds': 1 }, 'featured': { 'revenue': 0, 'count': 4, 'refunds': 1 } } for source in self.sources: # Create sales. for x in range(self.expected[source]['count']): c = Contribution.objects.create( addon_id=self.app.pk, source=source, type=amo.CONTRIB_PURCHASE, amount=str(random.randint(0, 10) + .99), price_tier=self.price_tier) self.expected[source]['revenue'] += cut(self.usd_price) # Create refunds. Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected[source]['revenue'] -= cut(self.usd_price) self.expected[source]['count'] -= 1 self.refresh()
def setUp(self): # Create apps and contributions to index. self.app = amo.tests.app_factory() # Create a sale for each day in the expected range. self.expected = [ {'currency': 'CAD', 'count': 0}, {'currency': 'EUR', 'count': 0}, {'currency': 'USD', 'count': 0} ] for expected in self.expected: for x in range(random.randint(1, 4)): c = Contribution.objects.create(addon_id=self.app.pk, amount=random.randint(1, 10), currency=expected['currency']) expected['count'] += cut(c.amount) expected['count'] = int(expected['count']) tasks.index_finance_total_by_currency([self.app.pk]) self.refresh(timesleep=1)
def setUp(self): self.app = amo.tests.app_factory() self.ids = [] self.expected = {'addon': self.app.pk, 'date': datetime.datetime.today(), 'revenue': 0, 'count': 3, 'refunds': 1} for x in range(self.expected['count']): c = Contribution.objects.create(addon_id=self.app.pk, amount=str(random.randint(0, 10)), type=amo.CONTRIB_PURCHASE) self.refresh(timesleep=1) self.ids.append(c.id) self.expected['revenue'] += int(c.amount) c.update(uuid=123) Refund.objects.create(contribution=c, status=amo.REFUND_APPROVED) self.expected['revenue'] -= int(c.amount) self.expected['count'] -= 1 self.expected['revenue'] = cut(self.expected['revenue'])
def test_basic(self): eq_(cut(0), Decimal(str(0))) eq_(cut(1), Decimal(str(.7))) eq_(cut(10), Decimal(str(7))) eq_(cut(33), Decimal(str(23.10)))
def test_basic(self): eq_(cut(0), 0) eq_(cut(1), .7) eq_(cut(10), 7) eq_(cut(33), 23.10)