getGameWinner returning only Player Two in Rock Paper Scissors x99

Hi,

I’m making “Cumulative Project: Rock Paper Scissors x99” and I have problem with two main tests:

getGameWinner() - Main Functionality

  1. should declare when player one wins

  2. should declare when the game is a tie

“Should declare when PLAYER TWO wins” is passing. Can anyone tell me why it isn’t working?

Code:

// All code should be written in this file.
let playerOneMoveOneType;
let playerOneMoveOneValue;
let playerOneMoveTwoType;
let playerOneMoveTwoValue;
let playerOneMoveThreeType;
let playerOneMoveThreeValue;
let playerTwoMoveOneType;
let playerTwoMoveOneValue;
let playerTwoMoveTwoType;
let playerTwoMoveTwoValue;
let playerTwoMoveThreeType;
let playerTwoMoveThreeValue;
let playerOnePoints;
let playerTwoPoints;
 
function setPlayerMoves(player, moveOneType, moveOneValue, moveTwoType, moveTwoValue, moveThreeType, moveThreeValue) {
    if (player === 'Player One') {
        playerOneMoveOneType = moveOneType;
        playerOneMoveOneValue = moveOneValue;
        playerOneMoveTwoType = moveTwoType;
        playerOneMoveTwoValue = moveTwoValue;
        playerOneMoveThreeType = moveThreeType;
        playerOneMoveThreeValue = moveThreeValue;
    } else if (player === 'Player Two') {
        playerTwoMoveOneType = moveOneType;
        playerTwoMoveOneValue = moveOneValue;
        playerTwoMoveTwoType = moveTwoType;
        playerTwoMoveTwoValue = moveTwoValue;
        playerTwoMoveThreeType = moveThreeType;
        playerTwoMoveThreeValue = moveThreeValue;
    } else {return null;}
 
};
 
function getRoundWinner(roundNumber) {
    switch(roundNumber) {
        case 1:
            return getMoveWinner(playerOneMoveOneType, playerOneMoveOneValue, playerTwoMoveOneType, playerTwoMoveOneValue);
        case 2:
            return getMoveWinner(playerOneMoveTwoType, playerOneMoveTwoValue, playerTwoMoveTwoType, playerTwoMoveTwoValue);
        case 3:
            return getMoveWinner(playerOneMoveThreeType, playerOneMoveThreeValue, playerTwoMoveThreeType, playerTwoMoveThreeValue);
    }
}
 
playerOnePoints = 0;
playerTwoPoints = 0;
 
function getMoveWinner (playerOneMoveType, playerOneMoveValue, playerTwoMoveType, playerTwoMoveValue) {
    if (playerOneMoveType === playerTwoMoveType && playerOneMoveValue === playerTwoMoveValue) {
        return 'Tie'
    } else if (playerOneMoveType === playerTwoMoveType && playerOneMoveValue > playerTwoMoveValue) {
        playerOnePoints = (playerOnePoints + 1);
        return 'Player One'
    } else if (playerOneMoveType === playerTwoMoveType && playerOneMoveValue < playerTwoMoveValue) {
        playerTwoPoints = (playerTwoPoints + 1);
        return 'Player Two'
    }
 
    if (playerOneMoveType === 'rock') {
        if (playerTwoMoveType === 'scissors') {
            playerOnePoints = (playerOnePoints + 1);
            return 'Player One';
        } else {
            playerTwoPoints = (playerTwoPoints + 1);
            return 'Player Two';
        }
      } else if (playerOneMoveType === 'paper') {
        if (playerTwoMoveType === 'rock') {
            playerOnePoints = (playerOnePoints + 1);
            return 'Player One';
        } else {
            playerTwoPoints = (playerTwoPoints + 1);
            return 'Player Two';
        }
      } else {
        if (playerTwoMoveType === 'paper') {
            playerOnePoints = (playerOnePoints + 1);
            return 'Player One';
        } else {
            playerTwoPoints = (playerTwoPoints + 1);
            return 'Player Two';
        }
      }
    }
 
function getGameWinner() {
        if (!playerOneMoveOneType || !playerOneMoveTwoType ||
            !playerOneMoveThreeType || !playerOneMoveOneValue ||
            !playerOneMoveTwoValue || !playerOneMoveThreeValue ||
            !playerTwoMoveOneType || !playerTwoMoveTwoType ||
            !playerTwoMoveThreeType || !playerTwoMoveOneValue ||
            !playerTwoMoveTwoValue || !playerTwoMoveThreeValue) {
        return null }
 
        if (playerOnePoints > playerTwoPoints) {return 'Player One';}
        else if (playerOnePoints < playerTwoPoints) {return 'Player Two';}
        else if (playerOnePoints = playerTwoPoints) {return 'Tie';}
    }