Exemple #1
0
 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)
Exemple #2
0
    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'),
                )
            }),
        ])
Exemple #3
0
    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,
                         [('', '---------')])
Exemple #4
0
    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))
Exemple #5
0
 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)
Exemple #6
0
    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')])
Exemple #7
0
    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)