示例#1
0
def test_get_a_setting_default(client):
    """ Test that we can get a default value for a setting """
    with client:
        # arrange
        client.post('/login',
                    data=dict(email='*****@*****.**',
                              password='******',
                              remember_me=False))

        # act
        result = get_setting('warp_factor', '4')

        # assert
        assert result == '4'
示例#2
0
def test_update_setting(client):
    with client:
        # arrange
        client.post('/login',
                    data=dict(email='*****@*****.**',
                              password='******',
                              remember_me=False))
        save_setting('third_setting', 'Alpha')

        # act
        save_setting('third_setting', 'Beta')

        # assert
        assert get_setting('third_setting') == 'Beta'
示例#3
0
def test_get_session_user_two(client):
    ''' Session number for User 2'''
    with client:
        # arrange
        client.post('/login',
                    data=dict(email='*****@*****.**',
                              password='******',
                              remember_me=False))

        # act
        result = get_setting('test_session')

        # assert
        assert result == '99'
示例#4
0
def edit_entry(id):
    """ Handle editing an existing entry """
    entry = Entry.query.get(id)
    entries = Entry.query.all()
    current_id = get_current_character_id()
    selected_name = Character.query.filter_by(id=current_id).first().name
    characters = Character.query.all()
    balance = get_balance()
    game_session_list = get_game_session_list(current_id)
    selected_game_session = get_setting('filter_game_session', 'All')

    form = EditEntryForm()
    mode = ''

    if form.validate_on_submit():
        entry.id = int(form.id.data)
        entry.game_session = form.game_session.data
        entry.description = form.description.data
        amount = float(form.amount.data)

        entry_type = request.form['entry_type']
        if entry_type == 'purchase':
            amount = -amount
        entry.amount = amount

        db.session.commit()
        form = AddEntryForm()
        entry = None
        mode = 'add'
    else:
        if entry.amount < 0:
            entry_type = 'purchase'
        else:
            entry_type = 'deposit'
        mode = 'edit'

    form.process(obj=entries)
    form.process(obj=entry)
    return render_template('entry.html',
                           form=form,
                           mode=mode,
                           entry=entry,
                           entries=entries,
                           characters=characters,
                           selected_name=selected_name,
                           balance=balance,
                           game_session_list=game_session_list,
                           selected_game_session=selected_game_session,
                           entry_type=entry_type)
示例#5
0
def index():
    current_id = get_current_character_id()
    if current_id is None:
        return redirect(url_for('character_bp.character_list'))

    selected_character = Character.query.filter_by(id=current_id).first()
    if selected_character:
        selected_name = selected_character.name
    else:
        selected_name = ''
    characters = Character.query.filter_by(user_id=current_user.id).all()

    game_session_list = get_game_session_list(current_id)
    filter_game_session = get_setting('filter_game_session', 'All')
    if filter_game_session == 'All':
        entries = Entry.query.filter_by(character_id=current_id)
    else:
        entries = Entry.query.filter_by(character_id=current_id,
                                        game_session=filter_game_session)

    form = AddEntryForm()
    balance = get_balance()
    mode = 'add'
    game_session = get_setting('game_session')

    return render_template('entry.html',
                           mode=mode,
                           entries=entries,
                           form=form,
                           game_session=game_session,
                           characters=characters,
                           selected_name=selected_name,
                           balance=balance,
                           game_session_list=game_session_list,
                           filter_game_session=filter_game_session,
                           current_user=current_user)
示例#6
0
def test_create_entry_save_game_session(client):
    """ Add an entry and check that the game_session is saved """
    with client:
        # arrange
        client.post('/login',
                    data=dict(email='*****@*****.**',
                              password='******',
                              remember_me=False))

        # act
        data = dict(game_session=2300,
                    description='Wand of Heal',
                    amount='10.02',
                    entry_type='purchase')
        result = client.post('/entry/add', data=data, follow_redirects=True)

        # assert
        result = get_setting('game_session')
        assert result == 2300