def homepage(): """Homepage Route: sets up the board and saves it in session""" session['board'] = Boggle.make_board(boggle_game) board = session.get('board') return render_template('homepage.html', board=board)
def test_check(self): with app.test_client() as client: boggle_game_test = Boggle() with client.session_transaction() as session: session['answered'] = ['word'] session['game_board'] = boggle_game_test.make_board() resp = client.get('/check?Guess=word') jason = resp.get_data(as_text=True) self.assertEqual(resp.status_code, 200) self.assertIn('msg', jason)
def test_check_word(self): boggle_game = Boggle() with app.test_client() as client: with client.session_transaction() as change_session: change_session['board'] = boggle_game.make_board() change_session['score'] = 7 res = client.get('/check-word?word=mario') self.assertEqual(res.status_code, 200)
def test_boggle_get_route(self): with app.test_client() as client: with client.session_transaction() as session: boggle_game = Boggle() session['board'] = boggle_game.make_board() resp = client.get('/boggle') html = resp.get_data(as_text=True) self.assertEqual(resp.status_code, 200) self.assertIn('<td>', html) self.assertIn( '<form id="guess-form" action="/boggle" method="POST">', html)
def test_find_word(self): """Testing the findword page""" with app.test_client() as client: boggle_game = Boggle() board = boggle_game.make_board() with client.session_transaction() as change_session: change_session['board'] = board res = client.get("/find?word=word") html = res.get_data(as_text=True) self.assertEqual(res.status_code , 200) self.assertEqual(res.content_type , "application/json") self.assertIn(boggle_game.check_valid_word(board , "word") , html)
def boggle_play(): global boggle_game """Makes and inits the board to begin game play""" time = int(request.args['length']) width = int(request.args['width']) height = int(request.args['height']) boggle_game = Boggle(width, height) boggle_board = boggle_game.make_board() session['board'] = boggle_board games = session.get('game_nums', 0) high_score = session.get('game_nums', 0) print(session) return render_template('play.html', boggle_board=boggle_board, games=games, high_score=high_score, time=time)
def test_end_game(self): """Testing the endgame page""" with app.test_client() as client: boggle_game = Boggle() board = boggle_game.make_board() with client.session_transaction() as change_session: change_session['board'] = board res = client.post("/end" , data=json.dumps({"score" : 10}), content_type='application/json') html = res.get_data(as_text=True) self.assertEqual(res.status_code , 200) self.assertEqual(res.content_type , "application/json") scores = session["scores"] self.assertEqual(scores[0]["score"] , 10) self.assertIn("10" , html)
def display_board(): """Show board""" size = session.get('size') print(f'size is {size}') # check the value of the size if size: boggle_game = Boggle(size) else: boggle_game = Boggle(5) print(f'boggle game current size is {boggle_game.size}') board = boggle_game.make_board() # add board into session session['board'] = board size = session.get('size') if not size: size = 5 return render_template('home.html', board=board, size=size)
from boggle import Boggle from flask import Flask, request, render_template, jsonify from flask_debugtoolbar import DebugToolbarExtension from flask import session boggle_game = Boggle() app = Flask(__name__) app.config["SECRET_KEY"] = "oh-so-secret" # app.config("DEBUG_TB_INTERCEPT_REDIRECTS") = False debug = DebugToolbarExtension board = boggle_game.make_board() @app.route("/") def show_landing_page(): session['board'] = board highscore = session.get("highscore", 0) nplayed = session.get("nplayed", 0) return render_template("index.html", board=board, boggle=boggle_game, highscore=highscore, nplayed=nplayed) @app.route("/guess", methods=["POST"]) def say_hi(): guessed_word = request.json["guess"] #allows access to the data posted from axios, guess is key, guessed_word is value guessed_response = boggle_game.check_valid_word(board, guessed_word) #method of boggle class returns the validity of the guessed word return jsonify(guessed_response) #by returning guessed response, it shows up as value of 'data' key in the var we stored our axios post @app.route("/final-score", methods=["POST"]) def save_current_score():
def test_make_board(self): boggle = Boggle() board = boggle.make_board() self.assertIsInstance(board, list) self.assertEqual(len(board), 5)
from flask import Flask, render_template, session, request, jsonify from boggle import Boggle app = Flask(__name__) app.config["SECRET_KEY"] = "SESSION_KEY" boggle = Boggle() gameboard = boggle.make_board() @app.route("/") def index(): """Route for the index/homepage""" session["board"] = gameboard times_played = session.get("times_played", 0) highscore = session.get("highscore", 0) return render_template("index.html", gameboard=gameboard, highscore=highscore, times_played=times_played) @app.route("/check-word") def check_word(): """Check if word is a valid and returns the status of the guessed word""" word = request.args["word"] res = boggle.check_valid_word(session["board"], word) return jsonify({"result": res})
def root(): global boggle_game boggle_game = Boggle() session["board"] = boggle_game.make_board() board = session["board"] return render_template('board.html', board=board)
def new_board(): boggle_game = Boggle() board = boggle_game.make_board() session[BOARD] = board return render_template('board.html', letters=session[BOARD])