def setUp(self): SmsUsageFee.objects.all().delete() SmsUsageFeeCriteria.objects.all().delete() self.currency_usd = init_default_currency() self.least_specific_fees = generator.arbitrary_fees_by_direction() self.most_specific_fees = generator.arbitrary_fees_by_direction_and_domain() self.backend_ids = generator.arbitrary_backend_ids()
def setUp(self): SmsUsageFee.objects.all().delete() SmsUsageFeeCriteria.objects.all().delete() self.currency_usd = init_default_currency() self.least_specific_fees = generator.arbitrary_fees_by_direction() self.most_specific_fees = generator.arbitrary_fees_by_direction_and_domain( ) self.backend_ids = generator.arbitrary_backend_ids()
def setUp(self): self.currency_usd, _ = Currency.objects.get_or_create( code=settings.DEFAULT_CURRENCY, name="Default Currency", symbol="$", rate_to_default=Decimal('1.0') ) self.least_specific_fees = generator.arbitrary_fees_by_direction() self.most_specific_fees = generator.arbitrary_fees_by_direction_and_domain() self.backend_ids = generator.arbitrary_backend_ids()
def test_only_direction(self): self.apply_direction_fee() messages = generator.arbitrary_messages_by_backend_and_direction(generator.arbitrary_backend_ids()) for message in messages: billable = SmsBillable.create(message) self.assertIsNotNone(billable) self.assertEqual( billable.usage_fee.amount, self.least_specific_fees[message.direction] )
def setUp(self): super(TestUsageFee, self).setUp() # Must remove existing data populated in migrations SmsUsageFee.objects.all().delete() SmsUsageFeeCriteria.objects.all().delete() self.currency_usd = init_default_currency() self.least_specific_fees = generator.arbitrary_fees_by_direction() self.most_specific_fees = generator.arbitrary_fees_by_direction_and_domain() self.backend_ids = generator.arbitrary_backend_ids()
def test_log_no_usage_fee(self): self.apply_direction_fee() self.apply_direction_and_domain_fee() for direction, domain_fee in self.most_specific_fees.items(): for domain in domain_fee: messages = generator.arbitrary_messages_by_backend_and_direction(generator.arbitrary_backend_ids(), domain=domain, directions=['X', 'Y']) for message in messages: billable = SmsBillable.create(message) self.assertIsNotNone(billable) self.assertIsNone(billable.usage_fee)
def test_domain_and_direction(self): self.apply_direction_fee() self.apply_direction_and_domain_fee() for direction, domain_fee in self.most_specific_fees.items(): for domain in domain_fee: messages = generator.arbitrary_messages_by_backend_and_direction(generator.arbitrary_backend_ids(), domain=domain) for message in messages: billable = SmsBillable.create(message) self.assertIsNotNone(billable) self.assertEqual( billable.usage_fee.amount, self.most_specific_fees[message.direction][domain] )
def setUp(self): self.currency_usd, _ = Currency.objects.get_or_create( code=settings.DEFAULT_CURRENCY, name="Default Currency", symbol="$", rate_to_default=Decimal('1.0') ) self.available_backends = get_available_backends().values() self.backend_ids = generator.arbitrary_backend_ids() self.message_logs = generator.arbitrary_messages_by_backend_and_direction(self.backend_ids) self.least_specific_fees = generator.arbitrary_fees_by_direction_and_backend() self.country_code_fees = generator.arbitrary_fees_by_country() self.instance_fees = generator.arbitrary_fees_by_backend_instance(self.backend_ids) self.most_specific_fees = generator.arbitrary_fees_by_all(self.backend_ids)
def setUp(self): SmsGatewayFee.objects.all().delete() SmsGatewayFeeCriteria.objects.all().delete() self.currency_usd = init_default_currency() self.backend_ids = generator.arbitrary_backend_ids() self.message_logs = generator.arbitrary_messages_by_backend_and_direction(self.backend_ids) self.least_specific_fees = generator.arbitrary_fees_by_direction_and_backend() self.country_code_fees = generator.arbitrary_fees_by_country() self.instance_fees = generator.arbitrary_fees_by_backend_instance(self.backend_ids) self.most_specific_fees = generator.arbitrary_fees_by_all(self.backend_ids) self.country_code_and_prefixes = generator.arbitrary_country_code_and_prefixes(3, 3) self.prefix_fees = generator.arbitrary_fees_by_prefix(self.backend_ids, self.country_code_and_prefixes) self.other_currency = generator.arbitrary_currency()
def setUp(self): SmsGatewayFee.objects.all().delete() SmsGatewayFeeCriteria.objects.all().delete() self.currency_usd = init_default_currency() self.available_backends = get_available_backends().values() self.backend_ids = generator.arbitrary_backend_ids() self.message_logs = generator.arbitrary_messages_by_backend_and_direction( self.backend_ids) self.least_specific_fees = generator.arbitrary_fees_by_direction_and_backend( ) self.country_code_fees = generator.arbitrary_fees_by_country() self.instance_fees = generator.arbitrary_fees_by_backend_instance( self.backend_ids) self.most_specific_fees = generator.arbitrary_fees_by_all( self.backend_ids) self.country_code_and_prefixes = generator.arbitrary_country_code_and_prefixes( ) self.prefix_fees = generator.arbitrary_fees_by_prefix( self.backend_ids, self.country_code_and_prefixes) self.other_currency = generator.arbitrary_currency()