dans la fonction "proposeWord", comment tester la validation de l'adresse avec "isPlayer2Turn" : " require(msg.sender == games[_gameId].player1 || (msg.sender == games[_gameId].player2 &&   games[_gameId].isPlayer2Turn),"invalid address");" la fonction : " function proposeWord(uint256 _gameId, string memory _wordToGuess, string memory _letterToGuess) public {
        require(state == State.inProgress, "Bad State");
        require(msg.sender == games[_gameId].player1 || (msg.sender == games[_gameId].player2 && 
        games[_gameId].isPlayer2Turn),"invalid address");
        require(playerBalances[_gameId][msg.sender].balance > 0, "you didn't bet");
        string memory filteredWord = wordFiltered(_wordToGuess);
        if (isWordCorrect(filteredWord)) {
            games[_gameId].winner = msg.sender;
            addBetToPlayer(_gameId, msg.sender);
            emit WordWin(_gameId, filteredWord);         
            emit GameFinished(_gameId);
            state = State.finished;
        } else {
            if (msg.sender == games[_gameId].player2) {
                games[_gameId].isPlayer2Turn = false;
                proposeLetter(_gameId, _letterToGuess, _wordToGuess);   
            } else {
                if (msg.sender == games[_gameId].player1) {
                games[_gameId].isPlayer2Turn = true;
                proposeLetter(_gameId, _letterToGuess, _wordToGuess);
                }
            }
        }
    }" le test "context ("FONCTION POUR DEVINER UN MOT", () => {
        beforeEach(async function() {
            penduelInstance = await Penduel.new(subId);
            const value = web3.utils.toWei("1", "ether");
            await penduelInstance.createGame({ from: player2 });
            await penduelInstance.joinGame({ from: player1 });
            await penduelInstance.deposit({ from: player2, value: value });
            await penduelInstance.deposit({ from: player1, value: value });

        });

        describe ("Vérifie la fonction proposeWord", () => {

            it("doit permettre à un joueur de proposer un mot correct et de gagner", async () => {
                const gameId = 1;
                const currentWord = "immuable";
                await penduelInstance.updateStateInProgress();
                const receipt = await penduelInstance.proposeWord(gameId, "immuable", "i", {from: player2});
                const updatedGameState = await penduelInstance.state();
                const isWordCorrect = await penduelInstance.getIsWordCorrect(currentWord);
                if (isWordCorrect) {
                    assert.equal(updatedGameState, 6, "L'état devrait être finished");
                    const winner = await penduelInstance.getWinner(gameId);
                    assert.equal(winner, player2, "Le player2 devrait être enregistré comme gagnant");
                } else {
                    assert.equal(updatedGameState, 5, "L'état devrait rester inProgress");
                }
                if (isWordCorrect) {
                    let wordWinEvent = await penduelInstance.WordWin();
                    assert.equal(wordWinEvent.length, 1);
                    assert.equal(wordWinEvent[0].args.gameId, gameId);
                    assert.equal(wordWinEvent[0].args.filteredWord, "immuable");
                    expectEvent(receipt, "GameFinished", {
                        gameId: gameId
                    })
                }
            });
"