def test_get_initial_tax_date(self): """Test method _get_initial_tax_date.""" modeladmin = BankPaymentAdmin(BankPayment, admin.site) with freeze_time('2019-06-20'): self.assertEqual( modeladmin._get_initial_tax_date(date(2019, 6, 14)), date(2019, 6, 14)) with freeze_time('2019-06-20'): self.assertEqual( modeladmin._get_initial_tax_date(date(2019, 6, 1)), date(2019, 6, 20)) with freeze_time('2019-07-02'): self.assertEqual( modeladmin._get_initial_tax_date(date(2019, 6, 14)), date(2019, 6, 30)) with freeze_time('2019-07-10'): self.assertEqual( modeladmin._get_initial_tax_date(date(2019, 6, 20)), date(2019, 6, 30)) with freeze_time('2019-07-04'): self.assertEqual( modeladmin._get_initial_tax_date(date(2019, 6, 20)), date(2019, 6, 20)) with freeze_time('2019-06-20'): self.assertEqual( modeladmin._get_initial_tax_date(date(2019, 6, 21)), None) with freeze_time('2019-06-20'): self.assertEqual( modeladmin._get_initial_tax_date(date(2019, 4, 25)), None) with freeze_time('2019-06-16'): self.assertEqual( modeladmin._get_initial_tax_date(date(2019, 5, 30)), None)
def test_get_fieldsets(self): """Test get_fieldsets method.""" modeladmin = BankPaymentAdmin(BankPayment, admin.site) request = self.request_factory.get('/', {}) request.user = self.admin fieldsets = modeladmin.get_fieldsets(request) self.assertEqual(fieldsets, [ (None, { 'fields': ('counter_account_number', 'objective', 'client_link', 'transaction_date', 'constant_symbol', 'variable_symbol', 'specific_symbol', 'unbreakable_amount', 'description', 'counter_account_name', 'create_time', 'account', 'state') }), ]) fieldsets = modeladmin.get_fieldsets(request, self.imported_payment) self.assertEqual(fieldsets, [ (None, { 'fields': ( 'counter_account_number', 'transaction_date', 'constant_symbol', 'variable_symbol', 'specific_symbol', 'unbreakable_amount', 'description', 'counter_account_name', 'create_time', 'account', 'state', ) }), ('Assign payment', { 'fields': ('processor', 'client_id', 'tax_date') }), ]) fieldsets = modeladmin.get_fieldsets(request, self.processed_payment) self.assertEqual(fieldsets, [ (None, { 'fields': ( 'counter_account_number', 'objective', 'client_link', 'transaction_date', 'constant_symbol', 'variable_symbol', 'specific_symbol', 'unbreakable_amount', 'description', 'counter_account_name', 'create_time', 'account', ('state', 'processing_error'), ) }), ])
def test_get_form_no_perms(self): """Test get_form method without any permissions.""" modeladmin = BankPaymentAdmin(BankPayment, admin.site) request = self.request_factory.get('/', {}) request.user = self.user form = modeladmin.get_form(request) form_instance = form() self.assertEqual(form_instance.fields['processor'].choices, [('', '---------')])
def test_get_form_payment(self): """Test get_form method with payment provided.""" modeladmin = BankPaymentAdmin(BankPayment, admin.site) request = self.request_factory.get('/', {}) request.user = self.admin form = modeladmin.get_form(request, obj=self.imported_payment) form_instance = form() self.assertEqual(form_instance.fields['tax_date'].initial, date(2019, 1, 1))
def test_filter_all(self): modeladmin = BankPaymentAdmin(BankPayment, admin.site) request = self.request_factory.get('/?state__exact=all', {}) request.user = self.admin changelist = modeladmin.get_changelist_instance(request) filterspec = changelist.get_filters(request)[0][0] choices = list(filterspec.choices(changelist)) self.assertEqual(choices, ([ { 'selected': False, 'query_string': '?', 'display': 'Realized' }, { 'selected': True, 'query_string': '?state__exact=all', 'display': 'All' }, { 'selected': False, 'query_string': '?state__exact=initialized', 'display': 'initialized' }, { 'selected': False, 'query_string': '?state__exact=ready_to_process', 'display': 'ready to process' }, { 'selected': False, 'query_string': '?state__exact=processed', 'display': 'processed' }, { 'selected': False, 'query_string': '?state__exact=deferred', 'display': 'not identified' }, { 'selected': False, 'query_string': '?state__exact=exported', 'display': 'exported' }, { 'selected': False, 'query_string': '?state__exact=canceled', 'display': 'canceled' }, ])) self.assertQuerysetEqual( changelist.get_queryset(request).values_list('identifier', flat=True), ['PAYMENT_1', 'PAYMENT_2', 'PAYMENT_3', 'PAYMENT_4', 'PAYMENT_5'], ordered=False, transform=str)
def test_get_form_some_perms(self): """Test get_form method with some permissions.""" modeladmin = BankPaymentAdmin(BankPayment, admin.site) request = self.request_factory.get('/', {}) request.user = self.user content_type = ContentType.objects.get_for_model(BankPayment) perm = Permission.objects.create( codename='can_manually_assign_to_dummy', content_type=content_type) request.user.user_permissions.add(perm) form = modeladmin.get_form(request) form_instance = form() self.assertEqual(form_instance.fields['processor'].choices, [('', '---------'), ('dummy', 'Dummy objective')])
def test_unbreakable_amount_en(self): modeladmin = BankPaymentAdmin(BankPayment, admin.site) payment = BankPayment(amount=10000.445) original_definition = _FORMATTER.formatting_definitions.get('EN', None) try: _FORMATTER.add_formatting_definition('en', group_size=3, group_separator=',', decimal_point='.', positive_sign='', trailing_positive_sign='', negative_sign='-', trailing_negative_sign='', rounding_method=ROUND_HALF_UP) formatted = modeladmin.unbreakable_amount(payment) finally: _FORMATTER.formatting_definitions['EN'] = original_definition self.assertEquals('10,000.45 Kč', formatted)