Ejemplo n.º 1
0
def test_update_common_task_offices(c):
    task = Task.get_first_common()
    unchecked_office = task.offices[0]
    checked_office = task.offices[1]
    unchecked_office_tickets_numbers = [
        ticket.number for ticket in Serial.all_clean().filter_by(
            task_id=task.id, office_id=unchecked_office.id)
    ]
    old_name = task.name
    new_name = f'{uuid4()}'.replace('-', '')

    c.post(f'/task/{task.id}',
           data={
               'name': new_name,
               f'check{checked_office.id}': True
           },
           follow_redirects=True)

    updated_task = Task.query.filter_by(name=new_name).first()

    assert Task.query.filter_by(name=old_name).first() is None
    assert updated_task is not None
    assert len(task.offices) >= len(updated_task.offices)
    assert checked_office.id in ids(updated_task.offices)
    assert unchecked_office.id not in ids(updated_task.offices)

    # Test unchecked office tickets were migrated
    for number in unchecked_office_tickets_numbers:
        ticket = Serial.query.filter_by(number=number).first()

        assert ticket is not None
        assert ticket.office_id != unchecked_office.id
Ejemplo n.º 2
0
        def main():
            tickets = Serial.all_clean()
            number_of_tickets = tickets.count()

            if number_of_tickets:
                tickets.delete()
                db.session.commit()
                self.log(f'DeleteTickets(Task): {number_of_tickets} deleted.')
Ejemplo n.º 3
0
def test_delete_all_tickets(c):
    auth_token = AuthTokens.get()
    response = c.delete(f'{BASE}',
                        follow_redirects=True,
                        headers={'Authorization': auth_token.token})

    assert response.status == '204 NO CONTENT'
    assert response.data == b''
    assert Serial.all_clean().count() == 0
Ejemplo n.º 4
0
def test_delete_ticket(c):
    ticket = Serial.all_clean().first()
    auth_token = AuthTokens.get()
    response = c.delete(f'{BASE}/{ticket.id}',
                        follow_redirects=True,
                        headers={'Authorization': auth_token.token})

    assert response.status == '204 NO CONTENT'
    assert response.data == b''
    assert Serial.get(ticket.id) is None
Ejemplo n.º 5
0
def test_get_ticket(c):
    ticket = Serial.all_clean().first()
    auth_token = AuthTokens.get()
    response = c.get(f'{BASE}/{ticket.id}',
                     follow_redirects=True,
                     headers={'Authorization': auth_token.token})

    assert response.status == '200 OK'
    assert Serial.get(response.json.get('id')).id == ticket.id
    assert all(p in response.json for p in get_module_columns(Serial)) is True
Ejemplo n.º 6
0
        def get(self):
            ''' Get list of tickets. '''
            chunk = request.args.get('chunk', 1, type=int)
            processed = request.args.get('processed', False, type=bool)
            tickets = Serial.all_clean()

            if processed:
                tickets = tickets.filter_by(p=True)

            return tickets.paginate(chunk,
                                    per_page=LIMIT_PER_CHUNK,
                                    error_out=False).items, HTTPStatus.OK
Ejemplo n.º 7
0
def test_update_ticket(c):
    ticket = Serial.all_clean().first()
    new_name = 'new testing name'
    auth_token = AuthTokens.get()
    response = c.put(f'{BASE}/{ticket.id}',
                     follow_redirects=True,
                     headers={'Authorization': auth_token.token},
                     json={'name': new_name})

    assert response.status == '200 OK'
    assert Serial.get(response.json.get('id')).name == new_name
    assert all(p in response.json for p in get_module_columns(Serial)) is True
Ejemplo n.º 8
0
def test_background_tasks_delete_tickets(c, get_bg_task):
    task_enabled = True
    task_every = 'second'
    task_time = None

    response = c.post('/background_tasks', data={
        'cache_tts_enabled': False,
        'cache_tts_every': 'second',
        'delete_tickets_enabled': task_enabled,
        'delete_tickets_every': task_every,
        'delete_tickets_time': task_time
    }, follow_redirects=True)
    task = get_bg_task('DeleteTickets')

    assert response.status == '200 OK'
    assert task.settings.enabled == task_enabled
    assert task.settings.every == task_every
    assert task.settings.time is None
    assert Serial.all_clean().count() == 0
Ejemplo n.º 9
0
 def delete(self):
     ''' Delete all tickets. '''
     Serial.all_clean().delete()
     db.session.commit()
     return '', HTTPStatus.NO_CONTENT