예제 #1
0
def test_flask_seed_model_cli_seeds_to_db_with_all_option(cli_app):
    """
    Tests that db tables are populated `flask seed model` when passed an `all`
    option.

    Args:
        cli_app (function): a flask app factory function that also manages its
            context.
    """
    # Create a script for running application.
    obj = ScriptInfo(create_app=cli_app)

    # Call command, apply arguments and create app.
    result = CliRunner().invoke(seed_model, ['all'], obj=obj)

    clients = Client.get_all()
    staff = Staff.get_all()
    requests = Request.get_all()
    comments = Comment.get_all()

    assert len(clients) == 3
    assert len(staff) == 3
    assert len(comments) == 14
    assert len(requests) == 12
    assert result.exit_code == 0
예제 #2
0
def test_request_model_gets_all_rows_correctly_after_saving(
        valid_request_model):
    """
    Tests that model gets correct number of rows when there is data in the
    table.

    Args:
        valid_request_model (Model): a valid model created by a fixture.
    """
    requests = Request.get_all()

    assert requests[0].title == 'Improve customer care services'
    assert requests[0].staff_id == 1
    assert requests[0].product_area == ProductArea.POLICIES
    assert len(requests) == 1
예제 #3
0
    def get(self):
        """
        Gets all feature requests.
        """
        # Get all requests
        request = Request.get_all()

        # Create a serialization schema
        request_schema = RequestSchema(exclude=('staff', 'comments'),
                                       many=True)
        return {
            'success': True,
            'message': messages['fetched']('requests'),
            'data': request_schema.serialize(request)
        }
예제 #4
0
def test_flask_seed_model_cli_seeds_to_db_with_request_option(
        cli_app, multiple_valid_client_models, multiple_valid_staff_models):
    """
    Tests that request table is populated `flask seed model` when passed a
    `request` option.

    Args:
        cli_app (function): a flask app factory function that also manages its
            context.
    """
    # Create a script for running application.
    obj = ScriptInfo(create_app=cli_app)

    # Call command, apply arguments and create app.
    result = CliRunner().invoke(seed_model, ['request'], obj=obj)

    requests = Request.get_all()

    assert len(requests) == 12
    assert result.exit_code == 0
예제 #5
0
def test_seed_request_saves_requests_to_db(multiple_valid_staff_models,
                                           multiple_valid_client_models):
    """
    Tests that `seed_request` function stores requests in the db.

    Args:
        multiple_valid_staff_models (list): a list of valid staff models
            created by a fixture.
        multiple_valid_client_models (list): a list of valid client models
            created by a fixture.
    """
    seed_request()

    requests = Request.get_all()

    assert requests[0].title == (
        'Add option for clearing transactions or archiving them'
        ' transactions')
    assert requests[1].title == (
        'Improve customer care services to reduce client churn')
    assert requests[2].title == (
        'Fix issue with the customisation section. It hangs'
        ' sometimes and breaks immersion')
    assert len(requests) == 12