Exemplo n.º 1
0
    def test_invalid_date_change(self):
        contest = Contest.objects.get(pk='c')
        delta = datetime.timedelta(days=55)
        new_dates = {}

        for item in date_registry.tolist(contest.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                new_date = (old_date - delta).strftime("%Y-%m-%d %H:%M")
                new_dates[_get_date_id(item)] = new_date

        invalid_item = {'model': Round, 'id': 3, 'date_field': 'start_date'}
        invalid_date = '2019-10-10 10:10'
        invalid_item_id = _get_date_id(invalid_item)
        new_dates[invalid_item_id] = invalid_date

        response = self._send_post(contest,
                                   data=new_dates,
                                   admin_assertin='alert-danger')

        for item in date_registry.tolist(contest.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                new_date = new_dates[_get_date_id(item)]
                self.assertContains(response, new_date)
                self.assertNotEqual(new_date,
                                    old_date.strftime("%Y-%m-%d %H:%M"))
Exemplo n.º 2
0
    def test_invalid_date_change(self):
        contest = Contest.objects.get(pk='c')
        delta = datetime.timedelta(days=55)
        new_dates = {}

        for item in date_registry.tolist(contest.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                new_date = (old_date - delta).strftime("%Y-%m-%d %H:%M")
                new_dates[_get_date_id(item)] = new_date

        invalid_item = {'model': Round, 'id': 3, 'date_field': 'start_date'}
        invalid_date = '2019-10-10 10:10'
        invalid_item_id = _get_date_id(invalid_item)
        new_dates[invalid_item_id] = invalid_date

        response = self._send_post(contest, data=new_dates,
                                   admin_assertin='alert-danger')

        for item in date_registry.tolist(contest.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                new_date = new_dates[_get_date_id(item)]
                self.assertContains(response, new_date)
                self.assertNotEqual(new_date,
                                    old_date.strftime("%Y-%m-%d %H:%M"))
Exemplo n.º 3
0
    def test_valid_unset_date_change(self):
        contest = Contest.objects.get(pk='c')
        unset_item = {'model': Round, 'id': 2, 'date_field': 'end_date'}
        new_date = '2021-10-10 10:10'
        unset_item_id = _get_date_id(unset_item)
        new_dates = {unset_item_id: new_date}

        for item in date_registry.tolist(contest.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                new_date = old_date.strftime("%Y-%m-%d %H:%M")
                new_dates[_get_date_id(item)] = new_date

        self._send_post(data=new_dates)

        obj = Round.objects.get(pk=2)
        self.assertEqual(obj.end_date, datetime.datetime(2021, 10, 10, 10, 10,
            tzinfo=utc))
Exemplo n.º 4
0
    def test_valid_unset_date_change(self):
        contest = Contest.objects.get(pk='c')
        unset_item = {'model': Round, 'id': 2, 'date_field': 'end_date'}
        new_date = '2021-10-10 10:10'
        unset_item_id = _get_date_id(unset_item)
        new_dates = {unset_item_id: new_date}

        for item in date_registry.tolist(contest.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                new_date = old_date.strftime("%Y-%m-%d %H:%M")
                new_dates[_get_date_id(item)] = new_date

        self._send_post(data=new_dates)

        obj = Round.objects.get(pk=2)
        self.assertEqual(obj.end_date,
                         datetime.datetime(2021, 10, 10, 10, 10, tzinfo=utc))
Exemplo n.º 5
0
    def test_changing_date_in_wrong_contest(self):
        contest_c = Contest.objects.get(pk='c')
        contest_d = Contest.objects.get(pk='d')
        delta = datetime.timedelta(days=13)
        new_dates = {}

        for item in date_registry.tolist(contest_c.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                new_date = (old_date + delta).strftime("%d/%m/%Y %H:%M")
                new_dates[_get_date_id(item)] = new_date

        self._send_post(contest_d, data=new_dates, contest_admin_code=403)

        for item in date_registry.tolist(contest_c.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                old_date = old_date.strftime("%d/%m/%Y %H:%M")
                self.assertNotEqual(old_date, new_dates[_get_date_id(item)])
Exemplo n.º 6
0
    def test_changing_date_in_wrong_contest(self):
        contest_c = Contest.objects.get(pk='c')
        contest_d = Contest.objects.get(pk='d')
        delta = datetime.timedelta(days=13)
        new_dates = {}

        for item in date_registry.tolist(contest_c.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                new_date = (old_date + delta).strftime("%d/%m/%Y %H:%M")
                new_dates[_get_date_id(item)] = new_date

        self._send_post(contest_d, data=new_dates, contest_admin_code=403)

        for item in date_registry.tolist(contest_c.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                old_date = old_date.strftime("%d/%m/%Y %H:%M")
                self.assertNotEqual(old_date, new_dates[_get_date_id(item)])
Exemplo n.º 7
0
    def test_valid_date_change(self):
        contest = Contest.objects.get(pk='c')
        delta = datetime.timedelta(days=21)
        new_dates = {}

        for item in date_registry.tolist(contest.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                new_date = (old_date + delta).strftime("%Y-%m-%d %H:%M")
                new_dates[_get_date_id(item)] = new_date

        response = self._send_post(contest, data=new_dates,
                                   admin_assertnotin='alert-danger')

        for item in date_registry.tolist(contest.id):
            obj = item['model'].objects.get(pk=item['id'])
            date = getattr(obj, item['date_field'])
            if date is not None:
                date = date.strftime("%Y-%m-%d %H:%M")
                self.assertEqual(date, new_dates[_get_date_id(item)])
                self.assertContains(response, date)
Exemplo n.º 8
0
    def test_valid_date_change(self):
        contest = Contest.objects.get(pk='c')
        delta = datetime.timedelta(days=21)
        new_dates = {}

        for item in date_registry.tolist(contest.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                new_date = (old_date + delta).strftime("%Y-%m-%d %H:%M")
                new_dates[_get_date_id(item)] = new_date

        response = self._send_post(contest, data=new_dates,
                                   admin_assertnotin='error')

        for item in date_registry.tolist(contest.id):
            obj = item['model'].objects.get(pk=item['id'])
            date = getattr(obj, item['date_field'])
            if date is not None:
                date = date.strftime("%Y-%m-%d %H:%M")
                self.assertEqual(date, new_dates[_get_date_id(item)])
                self.assertIn(date, response.content)
Exemplo n.º 9
0
    def test_invalid_date_format(self):
        contest = Contest.objects.get(pk='c')
        delta = datetime.timedelta(days=13)
        new_dates = {}

        for item in date_registry.tolist(contest.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                new_date = (old_date + delta).strftime("%d/%m/%Y %H:%M")
                new_dates[_get_date_id(item)] = new_date

        self._send_post(contest, data=new_dates,
                        admin_assertin='Date format is invalid')
Exemplo n.º 10
0
    def test_invalid_date_format(self):
        contest = Contest.objects.get(pk='c')
        delta = datetime.timedelta(days=13)
        new_dates = {}

        for item in date_registry.tolist(contest.id):
            obj = item['model'].objects.get(pk=item['id'])
            old_date = getattr(obj, item['date_field'])
            if old_date is not None:
                new_date = (old_date + delta).strftime("%d/%m/%Y %H:%M")
                new_dates[_get_date_id(item)] = new_date

        self._send_post(contest, data=new_dates,
                        admin_assertin='Date format is invalid')