def test_hack_and_slash_execute(fx_user, fx_novice_status): move = fx_user.create_novice(fx_novice_status) fx_user.create_block([move]) avatar = fx_user.avatar() avatar.hp = 0 move = fx_user.move(HackAndSlash()) fx_user.create_block([move]) with pytest.raises(InvalidMoveError): move.execute(avatar)
def test_avatar_basic_moves(fx_user, fx_novice_status): moves = [ CreateNovice(details=fx_novice_status), HackAndSlash(), Sleep(), Say(details={'content': 'hi'}), LevelUp(details={'new_status': 'strength'}), ] for move in moves: move = fx_user.move(move) block = fx_user.create_block([move]) assert move.valid assert move.confirmed assert block.valid assert fx_user.avatar(block.id)